code: func (it *Iterator) Set(val []byte, meta uint16) error {
  	new, err := it.list.allocVal(val, meta)
  	if err != nil {
  		return err
  	}
  
  	return it.trySetValue(new)
  }
docs: // Set updates the value of the current iteration record if it has not been
  // updated or deleted since iterating or seeking to it. If the record has been
  // updated, then Set positions the iterator on the most current value and
  // returns ErrRecordUpdated. If the record has been deleted, then Set keeps
  // the iterator positioned on the current record with the current value and
  // returns ErrRecordDeleted.