code: func (tx *protoTxn) Put(key string, value proto.Message) keyval.ProtoTxn {
  	if tx.err != nil {
  		return tx
  	}
  
  	// Marshal value to protobuf.
  	binData, err := tx.serializer.Marshal(value)
  	if err != nil {
  		tx.err = err
  		return tx
  	}
  	tx.txn = tx.txn.Put(key, binData)
  	return tx
  }
docs: // Put adds a new 'put' operation to a previously created transaction.
  // If the <key> does not exist in the data store, a new key-value item
  // will be added to the data store. If <key> exists in the data store,
  // the existing value will be overwritten with the <value> from this
  // operation.