anchor.diff:  	    Result -> Result
   	end
       of
  -	{CallbackMode,NewState,NewData} ->
  -	    callback_mode(CallbackMode) orelse
  -		error({callback_mode,CallbackMode}),
  +	{ok,NewState,NewData} ->
   	    {ok,
  -	     S#{callback_mode := CallbackMode,
  +	     S#{callback_mode := undefined,
   		state := NewState,
   		data := NewData}};
   	{ok,_} = Error ->
  
positive.code: 	    OldState :: state(),
  	    OldData :: data(),
  	    Extra :: term()) ->
      {CallbackMode :: callback_mode(),
       NewState :: state(),
       NewData :: data()} |
      (Reason :: term()).
  
  %% Format the callback module state in some sensible that is
  
negative.code:    [init/1, % One may use enter_loop/5,6,7 instead
      format_status/2, % Has got a default implementation
      %%
      state_name/3, % Example for callback_mode() =:= state_functions:
      %% there has to be a StateName/3 callback function
      %% for every StateName in your state machine but the state name
      %% 'state_name' does of course not have to be used.
      %%
      handle_event/4 % For callback_mode() =:= handle_event_function
     ]).
  
  %% Type validation functions
  callback_mode(CallbackMode) ->
  