code: func (l *LFUNoTS) evict(e *list.Element) error {
  	// ne need to return err if list element is already nil
  	if e == nil {
  		return nil
  	}
  
  	// remove the first item of the linked list
  	for entry := range e.Value.(*entry).listEntry {
  		l.cache.Delete(entry.k)
  		l.remove(entry, e)
  		l.currentSize--
  		break
  	}
  
  	return nil
  }
docs: // evict deletes the element from list with given linked list element