anchor.diff:              {false, Info}
           end;
         [[Target, Source]] ->
  -        true = ets:delete_object(Monitors, {Target, {Ref, Source}}),
  +        true = ets:delete_object(Monitors, {Target, {Ref, Source}, active}),
  +        true = ets:insert(Monitors, {Target, {Ref, Source}, inactive}),
           {not lists:member(flush, Options), Info}
       end,
     case lists:member(info, Options) of
  
positive.code:     true ->
        {Pid, Ref} = Result,
        #concuerror_info{monitors = Monitors} = Info,
        true = ets:insert(Monitors, {Pid, {Ref, Parent}});
      false ->
        Pid = Result
    end,
    case lists:member(link, SpawnOpts) of
      true ->
        #concuerror_info{links = Links} = Info,
        true = ets:insert(Links, [{Parent, Pid}, {Pid, Parent}]);
      false -> ok
    end,
    Pid ! {start, Module, Name, Args},
  
negative.code:   #concuerror_info{links = LinksTable, monitors = MonitorsTable} = Info,
    FetchFun =
      fun(Table) ->
          [begin ets:delete_object(Table, E), {D, S} end ||
            {_, D, S} = E <- ets:lookup(Table, Self)]
      end,
    Links = FetchFun(LinksTable),
    Monitors = FetchFun(MonitorsTable),
  