anchor.diff:  	State -> State
       end.
   
  -%% Add a state to the `state` table.
  +%% Add a state to the next `state` table.
  +state_save_next(State) ->
  +    ets:insert(?NT_STATE2, {State}).
  +
  +%% Add a state to the current `state` table.
   state_save(State) ->
  -    ets:insert(?NT_STATE2, {State}).
  +    ets:insert(?NT_STATE1, {State}).
   
   %% Initialize state tables.
   state_start() ->
  
positive.code: 	    %% If that process is in the `active` set (i.e. has not blocked),
  	    %% remove it from the actives and make it next-to-run, else do
  	    %% that for another process from the actives.
  	    {Next, NewActive} =
  		case sets:is_element(LastLid, Active) of
  		    true -> {LastLid,
  			     sets:to_list(sets:del_element(LastLid, Active))};
  		    false ->
  			[INext|INewActive] = sets:to_list(Active),
  			{INext, INewActive}
  		end,
  	    %% io:format("Search - NewActive: ~p~n", [NewActive]),
  	    %% Store all other possible successor states for later exploration.
  	    [state_save(state:extend(State, Lid)) || Lid <- NewActive],
  	    Next
      end.
  
  %%%----------------------------------------------------------------------
  
negative.code:             end
      end.
  
  %% Stores states for later exploration and returns the process to be run next.
  search(#context{active = Active, state = State}) ->
      case state:is_empty(State) of
  	%% Handle first call to search (empty state, one active process).
  