anchor.diff:            nexts     = dict:new()        :: dict(), %% dict(lid:lid(), {instr(), clock_vector()}),
             backtrack = ordsets:new()     :: ordsets:ordset(), %% set(lid:lid()),
             done      = ordsets:new()     :: ordsets:ordset(), %% set(lid:lid()),
  +          sleep_set = ordsets:new()     :: ordsets:ordset(), %% set(lid:lid()),
  +          sleep_map = dict:new()        :: dict(), %% dict(lid:lid(), set(lid:lid)),
             clock_map = empty_clock_map() :: clock_map(),
             lid_trace = new_lid_trace()   :: queue() %% queue(lid:lid())
            }).
  
positive.code:         false ->
              add_all_backtracks_trace(Transition, ClockVector, Trace, [StateI|Acc]);
          true ->
              [#trace_state{enabled = Enabled, backtrack = Backtrack} = PreSI|Rest] = Trace,
              NewBacktrack =
                  add_from_E(Lid, Enabled, [StateI|Acc], ClockVector, Backtrack),
              ?f_debug("      New backtrack: ~p\n", [NewBacktrack]),
              lists:reverse(Acc, [StateI,PreSI#trace_state{backtrack = NewBacktrack}|Rest])
      end.
  
  lookup_clock(P, ClockMap) ->
  
negative.code:                     Next = wait_next(Lid, Cmd),
                      ?f_debug("Next: ~p\n",[Next]),
                      LocalAddState = add_local_backtracks(Selected, State),
                      %% ?f_debug("AAS: ~p\n",[AllAddState]),
                      UpdState = update_trace(Selected, Next, LocalAddState),
                      %% ?f_debug("LAS: ~p\n",[UpdState]),
                      AllAddState = add_all_backtracks({Lid, Next}, UpdState),
                      NewChildState = add_all_child_backtracks(Cmd, AllAddState),
                      %% ?f_debug("US : ~p\n",[UpdState]),
                      NewState = add_some_next_to_backtrack(NewChildState),
                      explore(NewState)
  