anchor.diff:  empty_map() ->
     dict:new().
   
  +map_store(K, V, Map) ->
  +  dict:store(K, V, Map).
  +
  +map_find(K, Map) ->
  +  dict:find(K, Map).
  +
   is_empty_map(Map) ->
     dict:size(Map) =:= 0.
  -
  -clock_map_store(P, V, ClockMap) ->
  -  dict:store(P, V, ClockMap).
   
   lookup_clock(P, ClockMap) ->
     case dict:find(P, ClockMap) of
  
positive.code:   NewClockMap =
      case Special of
        {new, SpawnedPid} ->
          clock_map_store(SpawnedPid, Clock, ClockMap);
        {message, #message_event{message = #message{id = Id}}} ->
          clock_map_store({Id, sent}, Clock, ClockMap);
        _ -> ClockMap
      end,
    add_new_and_messages(Rest, Clock, NewClockMap).
  
negative.code: 
  reset_receive_done([Event|Rest], #scheduler_state{use_receive_patterns = true}) ->
    NewSpecial =
      [patch_message_delivery(S, empty_map()) || S <- Event#event.special],
    [Event#event{special = NewSpecial}|Rest];
  reset_receive_done(Done, _) ->
    Done.
  
  fix_receive_info(RevTraceOrEvents) ->
    fix_receive_info(RevTraceOrEvents, empty_map()).
  
  fix_receive_info(RevTraceOrEvents, ReceiveInfoDict) ->
    fix_receive_info(RevTraceOrEvents, ReceiveInfoDict, []).
  