anchor.diff:    %% XXX:  - send monitor messages
     ?debug_flag(?exit, {going_to_exit, Reason}),
     Self = self(),
  +  {MaybeName, Info} =
  +    run_built_in(erlang, process_info, 2, [Self, registered_name], Info),
     LocatedInfo = #concuerror_info{next_event = Event} =
       add_location_info(exit, set_status(Info, exiting)),
  -  [{MaybeName, Info}, {Links, Info}] =
  -    [run_built_in(erlang, process_info, 2, [Self, Type], Info) ||
  -      Type <- [registered_name, links]],
  -  #concuerror_info{monitors = MonitorsTable} = Info,
  -  Monitors =
  -    try ets:lookup_element(MonitorsTable, Self, 2)
  -    catch error:badarg -> []
  -    end,
  +  #concuerror_info{links = LinksTable, monitors = MonitorsTable} = Info,
  +  FetchFun =
  +    fun(Table) ->
  +        [begin ets:delete_object(Table, E), D end ||
  +          {_, D} = E <- ets:lookup(Table, Self)]
  +    end,
  +  Links = FetchFun(LinksTable),
  +  Monitors = FetchFun(MonitorsTable),
     Name =
       case MaybeName of
         [] -> ?process_name_none;
  
positive.code:   end.
  
  %% Special instruction running control (e.g. send to unknown -> wait for reply)
  run_built_in(erlang, exit, 2, [Pid, Reason],
               #concuerror_info{
                  next_event = #event{event_info = EventInfo} = Event
  
negative.code:   Scheduler ! Notification,
    process_loop(Info).
  
  process_top_loop(#concuerror_info{processes = Processes} = Info, Symbolic) ->
    true = ets:insert(Processes, ?new_process(self(), Symbolic)),
    ?debug_flag(?wait, top_waiting),
    receive
      {start, Module, Name, Args} ->
  