anchor.diff:  loop_event_done(
     Parent, Debug_0,
     #state{
  -     state = State, postponed = P_0,
  -     timer_refs = TimerRefs_0, timer_types = TimerTypes_0,
  -     cancel_timers = CancelTimers_0} = S,
  +     state = State, postponed = P_0, timers = Timers_0} = S,
     Events_0, Event_0, NextState, NewData,
     #trans_opts{
        hibernate = Hibernate, timeouts_r = TimeoutsR,
  
positive.code:       lists:reverse(P, Events), [], NextState, NewData,
          cancel_timer_by_type(
            state_timeout,
            cancel_timer_by_type(
              timeout, {TimerTypes,CancelTimers})));
  loop_event_done_fast(
    Parent, Hibernate,
    #state{} = S,
  
negative.code: 		    Q = [EXIT],
  		    terminate(exit, Reason, ?STACKTRACE(), Debug, S, Q);
  		{timeout,TimerRef,TimerMsg} ->
                      case S#state.timers of
  			{#{TimerRef := TimerType} = TimerRefs,TimerTypes} ->
                              %% Our timer
                              NewTimers =
                                  {maps:remove(TimerRef, TimerRefs),
                                   maps:remove(TimerType, TimerTypes)},
                              loop_receive_result(
                                Parent, Debug,
                                S#state{timers = NewTimers},
                                TimerType, TimerMsg);
  			{#{},_} ->
  			    %% Not our timer; present it as an event
  			    loop_receive_result(Parent, Debug, S, info, Msg)
  		    end;
  		_ ->
  