anchor.diff:  
   monitor(Addr) ->
       case gen_server:call(?MODULE, {pid, Addr}) of
  -        {ok, MBoxPid} -> {ok, erlang:monitor(process, MBoxPid)};
  +        {ok, MBoxPid} -> monitor_mbox(MBoxPid);
           Error         -> Error
       end.
  +
  +monitor_mbox(MBoxPid) when is_pid(MBoxPid) ->
  +    {ok, erlang:monitor(process, MBoxPid)}.
   
   demonitor(undefined)   -> ok;
   demonitor(MonitorRefs) ->
  
positive.code: 
  start_mbox(Addr) ->
      case start_link(Addr) of
          {ok, Pid} -> {ok, #mbox{addr = Addr, pid = Pid}};
          Error     -> Error
      end.
  
  %% Child/worker process implementation, where we have one child/worker
  %% process per downstream Addr or MBox.  Note, this can be a
  %% child/worker in a supervision tree.
  
  start_link(Addr) ->
      Location = mc_addr:location(Addr),
  
negative.code:         Err -> Err
      end.
  
  %% Child/worker process implementation, where we have one child/worker
  %% process per downstream Addr or MBox.  Note, this can one day be a
  %% child/worker in a supervision tree.
  
  loop(Addr, Sock) ->
      receive
          {send, NotifyPid, NotifyData, ResponseFun,
  