code: func (b *Blob) ByteParts() []BytesPart {
  	// TODO: move this method off Blob, and make the caller go
  	// through a (*Blob).ByteBackedBlob() comma-ok accessor first.
  	s := make([]BytesPart, len(b.ss.Parts))
  	for i, part := range b.ss.Parts {
  		s[i] = *part
  	}
  	return s
  }
docs: // ByteParts returns the "parts" field. The caller owns the returned
  // slice.