code: func (fc *fakeClock) Advance(d time.Duration) {
  	fc.l.Lock()
  	defer fc.l.Unlock()
  	end := fc.time.Add(d)
  	var newSleepers []*sleeper
  	for _, s := range fc.sleepers {
  		if end.Sub(s.until) >= 0 {
  			s.done <- end
  		} else {
  			newSleepers = append(newSleepers, s)
  		}
  	}
  	fc.sleepers = newSleepers
  	fc.blockers = notifyBlockers(fc.blockers, len(fc.sleepers))
  	fc.time = end
  }
docs: // Advance advances fakeClock to a new point in time, ensuring channels from any
  // previous invocations of After are notified appropriately before returning