code: func (s *Simulator) scheduleEvent(e event) {
  	if !e.eta.After(s.Now) {
  		panic("event's ETA should be in the future")
  	}
  	heap.Push(&s.events, e)
  }
docs: // scheduleEvent adds an event to the event queue.
  //
  // Panics if event's ETA is not in the future.