code: func (c *ARCCache) Get(key interface{}) (value interface{}, ok bool) {
  	c.lock.Lock()
  	defer c.lock.Unlock()
  
  	// If the value is contained in T1 (recent), then
  	// promote it to T2 (frequent)
  	if val, ok := c.t1.Peek(key); ok {
  		c.t1.Remove(key)
  		c.t2.Add(key, val)
  		return val, ok
  	}
  
  	// Check if the value is contained in T2 (frequent)
  	if val, ok := c.t2.Get(key); ok {
  		return val, ok
  	}
  
  	// No hit
  	return nil, false
  }
docs: // Get looks up a key's value from the cache.