code: func (c *ExpirationCache) Get(obj interface{}) (interface{}, bool, error) {
  	key, err := c.keyFunc(obj)
  	if err != nil {
  		return nil, false, KeyError{obj, err}
  	}
  	obj, exists := c.getOrExpire(key)
  	return obj, exists, nil
  }
docs: // Get returns unexpired items. It purges the cache of expired items in the
  // process.