anchor.diff:        [?process_pat_pid_status(Pid, Status)] ->
           IsActive = is_active(Status),
           case IsActive of
  -          true -> true = ets:insert(Monitors, {Pid, {Ref, self()}});
  +          true -> true = ets:insert(Monitors, {Pid, {Ref, self()}, active});
             false -> ok
           end,
           case EventInfo of
  
positive.code:       case is_active(Status) of
          true ->
            Self = self(),
            true = ets:insert(Links, [{Self, Pid}, {Pid, Self}]),
            {true, Info};
          false ->
            error(noproc)
  
negative.code:       lists:foldl(Fold, Info, Tables)
    end.
  
  handle_link(Link, Reason, InfoIn) ->
    MFArgs = [erlang, exit, [Link, Reason]],
    {{didit, true}, NewInfo} =
      instrumented(call, MFArgs, exit, InfoIn),
    NewInfo.
  
  handle_monitor({Ref, P}, Reason, InfoIn) ->
    Msg = {'DOWN', Ref, process, self(), Reason},
    MFArgs = [erlang, send, [P, Msg]],
    {{didit, Msg}, NewInfo} =
      instrumented(call, MFArgs, exit, InfoIn),
    NewInfo.
  
  link_monitor_handlers(Handler, LinksOrMonitors) ->
    fun(Info) ->
        #concuerror_info{exit_reason = Reason} = Info,
        HandleActive =
          fun({LinkOrMonitor, S}, InfoIn) ->
              case S =:= active of
                true -> Handler(LinkOrMonitor, Reason, InfoIn);
                false -> InfoIn
              end
          end,
        lists:foldl(HandleActive, Info, LinksOrMonitors)
    end.
  
  %%------------------------------------------------------------------------------
  