anchor.diff:      true -> insert_wakeup(Sleeping, Wakeup, NotDep, Exploring);
       false ->
         Initials = get_initials(NotDep),
  -      All = Sleeping ++ [W || {W, _, []} <- Wakeup],
  +      All =
  +        Sleeping ++
  +        [W || #backtrack_entry{event = W, wakeup_tree = []} <- Wakeup],
         case existing(All, Initials) of
           true -> skip;
  -        false -> Wakeup ++ [{E, Exploring, []}]
  +        false ->
  +          Entry =
  +            #backtrack_entry{event = E, origin = Exploring, wakeup_tree = []},
  +          Wakeup ++ [Entry]
         end
     end.      
   
  
positive.code: %% DATA STRUCTURES
  %% =============================================================================
  
  -type event_tree() :: [{event(), integer(), event_tree()}].
  
  -record(trace_state, {
            actors           = []         :: [pid() | {channel(), queue()}],
  
negative.code:       Event = #event{label = make_ref()},
        NewState = State#scheduler_state{bound_consumed = 0},
        get_next_event(Event, System ++ AvailableActors, NewState);
      [#backtrack_entry{
          event = #event{actor = Actor, label = Label} = Event,
          origin = N}|_] ->
        ?log(Logger, ?ldebug,"By: ~p~n", [N]),
        false = lists:member(Actor, Sleeping),
        BoundConsumed =
  