made it so SimulationContext.setup_time_slice considers the possibility that time hasn't advanced since the previous time slice, and replaces that time slice if that is the case.