code: func (t *TxStructure) LSet(key []byte, index int64, value []byte) error {
  	if t.readWriter == nil {
  		return errWriteOnSnapshot
  	}
  	metaKey := t.encodeListMetaKey(key)
  	meta, err := t.loadListMeta(metaKey)
  	if err != nil || meta.IsEmpty() {
  		return errors.Trace(err)
  	}
  
  	index = adjustIndex(index, meta.LIndex, meta.RIndex)
  
  	if index >= meta.LIndex && index < meta.RIndex {
  		return t.readWriter.Set(t.encodeListDataKey(key, index), value)
  	}
  	return errInvalidListIndex.GenWithStack("invalid list index %d", index)
  }
docs: // LSet updates an element in the list by its index.