anchor.diff:  	    {error,
   	     {bad_action_from_state_function,Action},
   	     ?STACKTRACE()};
  -	{timeout,infinity,_} ->
  -	    %% Ignore - timeout will never happen and is already cancelled
  -	    parse_actions(
  -	      Debug, S, State, Actions,
  -	      Hibernate, TimeoutsR, Postpone, NextEventsR);
  -	{timeout,Time,_} = Timeout when is_integer(Time), Time >= 0 ->
  +	{timeout,Time,_} = Timeout
  +	  when is_integer(Time), Time >= 0;
  +	       Time =:= infinity ->
   	    parse_actions(
   	      Debug, S, State, Actions,
   	      Hibernate, [Timeout|TimeoutsR], Postpone, NextEventsR);
  
positive.code:     %% Place next events last in reversed queue
      Events_2R = lists:reverse(Events_1, NextEventsR),
      %% Enqueue immediate timeout events and start event timer
      {TimerRefs_3,TimerTypes_3,Events_3R} =
  	process_timeout_events(
  	  TimerRefs_2, TimerTypes_2, TimeoutEvents, Events_2R),
      S_1 =
  	S_0#{
  	  state := NextState,
  	  data := NewData,
  	  postponed := P_2,
  	  timer_refs := TimerRefs_3,
  	  timer_types := TimerTypes_3,
  	  cancel_timers := CancelTimers_2,
  	  hibernate := Hibernate},
      case lists:reverse(Events_3R) of
  
negative.code:     
  parse_actions(Debug, S, State, Actions) ->
      Hibernate = false,
      TimeoutsR = [{timeout,infinity,infinity}], %% Will cancel event timer
      Postpone = false,
      NextEventsR = [],
      parse_actions(
  