anchor.diff:  state_stop() ->
       ets:delete(state).
   
  -%% Create all possible next states and add them to the `states` table.
  +%% Create all possible next states and add them to the `state` table.
   state_store_succ(#info{active = Active, state = State}) ->
       state_store_succ_aux(State, set_list(Active)).
   
   state_store_succ_aux(_State, []) -> ok;
  -state_store_succ_aux(State, [Proc | Procs]) ->
  -    ets:insert(state, {[Proc | State]}),
  +state_store_succ_aux(State, [Proc|Procs]) ->
  +    ets:insert(state, {[Proc|State]}),
       state_store_succ_aux(State, Procs).
   
   %%%----------------------------------------------------------------------
  
positive.code: %%          position in the program's "process creation tree" and doesn't change
  %%          between different runs of the same program (as opposed to erlang
  %%          pids).
  -record(info, {active :: any(), blocked :: any() , state :: any()}).
  
  %% Internal message format
  %%
  %% msg:     An atom describing the type of the message.
  %% pid:     The sender's pid.
  %% misc:    A list of optional arguments, depending on the the message type.
  -record(sched, {msg :: atom(), pid :: pid(), misc :: [any()]}).
  
  %%%----------------------------------------------------------------------
  %%% User interface
  %%%----------------------------------------------------------------------
  
  %% Produce all possible process interleavings of (Mod, Fun, Args).
  -spec interleave(atom(), atom(), [any()]) -> true.
  
  interleave(Mod, Fun, Args) ->
      register(sched, self()),
  
negative.code: %% a message to continue.
  %% NOTE: Besides replacing yield/0, this function is heavily used by the
  %%       instrumenter before other calls (e.g. spawn, send, etc.).
  -spec rep_yield() -> 'true'.
  
  rep_yield() ->
      sched ! #sched{msg = yield, pid = self()},
  