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