code: func Decrypt(encryptd []byte, decrypter Decrypter) ([]byte, error) {
  	if decrypter == nil {
  		return nil, ErrCannotDecrypt{msg: "no decrypter specified"}
  	}
  	r := api.MaybeEncryptedRecord{}
  	if err := proto.Unmarshal(encryptd, &r); err != nil {
  		// nope, this wasn't marshalled as a MaybeEncryptedRecord
  		return nil, ErrCannotDecrypt{msg: "unable to unmarshal as MaybeEncryptedRecord"}
  	}
  	plaintext, err := decrypter.Decrypt(r)
  	if err != nil {
  		return nil, ErrCannotDecrypt{msg: err.Error()}
  	}
  	return plaintext, nil
  }
docs: // Decrypt turns a slice of bytes serialized as an MaybeEncryptedRecord into a slice of plaintext bytes