code: func (db *DB) LIndex(key []byte, index int32) ([]byte, error) {
  	if err := checkKeySize(key); err != nil {
  		return nil, err
  	}
  
  	var seq int32
  	var headSeq int32
  	var tailSeq int32
  	var err error
  
  	metaKey := db.lEncodeMetaKey(key)
  
  	it := db.bucket.NewIterator()
  	defer it.Close()
  
  	headSeq, tailSeq, _, err = db.lGetMeta(it, metaKey)
  	if err != nil {
  		return nil, err
  	}
  
  	if index >= 0 {
  		seq = headSeq + index
  	} else {
  		seq = tailSeq + index + 1
  	}
  
  	sk := db.lEncodeListKey(key, seq)
  	v := it.Find(sk)
  
  	return v, nil
  }
docs: // LIndex returns the value at index.