code: func Encrypt(plaintext []byte, encrypter Encrypter) ([]byte, error) {
  	if encrypter == nil {
  		return nil, fmt.Errorf("no encrypter specified")
  	}
  
  	encryptedRecord, err := encrypter.Encrypt(plaintext)
  	if err != nil {
  		return nil, errors.Wrap(err, "unable to encrypt data")
  	}
  
  	data, err := proto.Marshal(encryptedRecord)
  	if err != nil {
  		return nil, errors.Wrap(err, "unable to marshal as MaybeEncryptedRecord")
  	}
  
  	return data, nil
  }
docs: // Encrypt turns a slice of bytes into a serialized MaybeEncryptedRecord slice of bytes