anchor.diff:      Machine =
   	%% Abusing the internal format of From...
   	#{init =>
  -	      fun (cast, {echo,From1,Reply1}, _) ->
  +	      fun () ->
  +		      {ok,start,undefined}
  +	      end,
  +	  start =>
  +	      fun (cast, {echo,From1,Reply1}, undefined) ->
   		      {next_state,wait,{reply,From1,Reply1}}
   	      end,
   	  wait =>
  
positive.code: 
  
  
  postpone_and_next_event(_Config) ->
      process_flag(trap_exit, true),
  
      Machine =
  	%% Abusing the internal format of From...
  	#{init =>
  	      fun (cast, _, _) ->
  		      {keep_state_and_data,postpone};
  		  ({call,From}, {buffer,Pid,[Tag3,Tag4]}, _) ->
  		      {next_state,buffer,[],
  		       [{next_event,internal,{reply,{Pid,Tag3},ok3}},
  			{next_event,internal,{reply,{Pid,Tag4},ok4}},
  			{reply,From,ok}]}
  	      end,
  	  buffer =>
  	      fun (internal, Reply, Replies) ->
  		      {keep_state,[Reply|Replies]};
  		  (cast, Reply, Replies) ->
  		      {keep_state,[Reply|Replies]};
  		  ({call,From}, {stop,Reason}, Replies) ->
  		      {next_state,stop,Replies,
  		       lists:reverse(
  			 Replies,
  			 [{reply,From,ok},
  			  {next_event,internal,{stop,Reason}}])}
  	      end,
  	  stop =>
  	      fun (internal, Result, _) ->
  		      Result
  	      end},
  
      {ok,STM} =
  	gen_statem:start_link(
  	  ?MODULE,
  	  {map_statem,Machine,init,undefined,[]},
  	  []),
      Self = self(),
      Tag1 = make_ref(),
      gen_statem:cast(STM, {reply,{Self,Tag1},ok1}),
  
negative.code:      {group, stop_handle_event},
       {group, abnormal},
       {group, abnormal_handle_event},
       shutdown, stop_and_reply, event_order,
       {group, sys},
       hibernate, enter_loop].
  
  