code: func (r *ShardedTTL) Get(tenantID, key string) (interface{}, error) {
  	r.Lock()
  	defer r.Unlock()
  
  	if !r.isValid(tenantID, key) {
  		r.delete(tenantID, key)
  		return nil, ErrNotFound
  	}
  
  	value, err := r.cache.Get(tenantID, key)
  	if err != nil {
  		return nil, err
  	}
  
  	return value, nil
  }
docs: // Get returns a value of a given key if it exists
  // and valid for the time being