code: func (f Index) First(prefix []byte) (i Item, err error) {
  	it := f.db.NewIterator()
  	defer it.Release()
  
  	totalPrefix := append(f.prefix, prefix...)
  	it.Seek(totalPrefix)
  
  	return f.itemFromIterator(it, totalPrefix)
  }
docs: // First returns the first item in the Index which encoded key starts with a prefix.
  // If the prefix is nil, the first element of the whole index is returned.
  // If Index has no elements, a leveldb.ErrNotFound error is returned.