code: func (e *Engine) WithUnboxer(ctx context.Context, encMec, mecNonce []byte,
  	privKP *EncryptionKeyPair, pubKey []byte, fn func(Unboxer) error) error {
  
  	mek, err := e.Unbox(ctx, encMec, mecNonce, privKP, pubKey)
  	if err != nil {
  		return err
  	}
  	defer mek.Destroy()
  
  	err = ctxutil.ErrIfDone(ctx)
  	if err != nil {
  		return err
  	}
  
  	u := unboxerImpl{mek: mek}
  	return fn(&u)
  }
docs: // WithUnboxer returns an Unboxer for unboxing credentials within the context
  // of the provided keypairs.