code: func (c *LRU) Add(key, value interface{}) (evicted bool) {
  	// Check for existing item
  	if ent, ok := c.items[key]; ok {
  		c.evictList.MoveToFront(ent)
  		ent.Value.(*entry).value = value
  		return false
  	}
  
  	// Add new item
  	ent := &entry{key, value}
  	entry := c.evictList.PushFront(ent)
  	c.items[key] = entry
  
  	evict := c.evictList.Len() > c.size
  	// Verify size not exceeded
  	if evict {
  		c.removeOldest()
  	}
  	return evict
  }
docs: // Add adds a value to the cache.  Returns true if an eviction occurred.