code: func (c *Client) Transfer(tokenIDs [][]byte, shares []*token.RecipientTransferShare) ([]byte, error) {
  	serializedTokenTx, err := c.Prover.RequestTransfer(tokenIDs, shares, c.SigningIdentity)
  	if err != nil {
  		return nil, err
  	}
  	tx, err := c.createTx(serializedTokenTx)
  	if err != nil {
  		return nil, err
  	}
  
  	return tx, c.TxSubmitter.Submit(tx)
  }
docs: // Transfer is the function that the client calls to transfer his tokens.
  // Transfer takes as parameter an array of token.RecipientTransferShare that
  // identifies who receives the tokens and describes how the tokens are distributed.