code: func (m *Machine) scheduleTick(now time.Time) {
  	nextTickTime := m.Schedule.Next(now, m.State.LastRewind)
  	if nextTickTime != m.State.LastTick.When {
  		m.State.Generation = m.nextGen()
  		m.State.LastTick = TickLaterAction{
  			When:      nextTickTime,
  			TickNonce: m.Nonce(),
  		}
  		if nextTickTime != schedule.DistantFuture {
  			m.Actions = append(m.Actions, m.State.LastTick)
  		}
  	}
  }
docs: // scheduleTick emits TickLaterAction action according to the schedule, current
  // time, and last time RewindIfNecessary was called.
  //
  // Does nothing if such tick has already been scheduled.