code: func (tx Tx) Put(k [][]byte, v []byte) error {
  	b, err := tx.CreateBucketIfNotExists(k[:len(k)-1])
  	if err != nil {
  		return err
  	}
  	return errorsp.WithStacks(b.Bucket.Put(k[len(k)-1], v))
  }
docs: // Put sets the value for a key in the transaction.
  // If the key exist then its previous value will be overwritten.
  // Supplied value must remain valid for the life of the transaction.
  // Returns an error if the bucket was created from a read-only transaction,
  // if the key is blank, if the key is too large, or if the value is too
  // large.