anchor.diff:        done = NewLastDone,
         wakeup_tree = NewLastWakeupTree
        },
  +  NextTrace = update_special(Event#event.special, InitNextTrace),
     InitNewState =
  -    State#scheduler_state{trace = [InitNextTrace, NewLastTrace|Prev]},
  +    State#scheduler_state{trace = [NextTrace, NewLastTrace|Prev]},
     NewState = maybe_log(Event, InitNewState, Index),
  -  {ok, update_special(Event#event.special, NewState)}.
  +  {ok, NewState}.
   
   maybe_log(#event{actor = P} = Event, State0, Index) ->
     #scheduler_state{
  
positive.code:     end,
    lists:filter(Pred, Sleeping).
  
  update_special(List, State) when is_list(List) ->
    lists:foldl(fun update_special/2, State, List);
  update_special(Special, State) ->
    #scheduler_state{trace = [#trace_state{actors = Actors} = Next|Trace]} = State,
    NewActors =
      case Special of
        halt -> [];
  
negative.code:       {system_communication, _} ->
          Actors
      end,
    TraceState#trace_state{actors = NewActors}.
  
  add_message(MessageEvent, Actors) ->
    #message_event{recipient = Recipient, sender = Sender} = MessageEvent,
  