code: func (r *ShardedTTL) StartGC(gcInterval time.Duration) {
  	r.gcInterval = gcInterval
  	go func() {
  		for _ = range time.Tick(gcInterval) {
  			r.Lock()
  			for tenantID := range r.setAts {
  				for key := range r.setAts[tenantID] {
  					if !r.isValid(tenantID, key) {
  						r.delete(tenantID, key)
  					}
  				}
  			}
  			r.Unlock()
  		}
  	}()
  }
docs: // StartGC starts the garbage collection process in a go routine