anchor.diff:  %%
   %% Relay an answer from a remote node.
   
  -recv(TPid, Pid, TRef, LocalTRef) ->
  +recv(TPid, Pid, TRef, {LocalTRef, MRef}) ->
       receive
           {answer, _, _, _, _} = A ->
               Pid ! A;
  +        {'DOWN', MRef, process, _, _} ->
  +            Pid ! {failover, TRef};
           {failover = T, LocalTRef} ->
               Pid ! {T, TRef};
           T ->
  
positive.code:                    packet = Pkt0},
  
      incr(send, Pkt, TPid, AppDict),
      TRef = send_request(TPid, Pkt, Req, SvcName, Timeout),
      Pid ! Ref,  %% tell caller a send has been attempted
      handle_answer(SvcName,
                    App,
                    recv_A(Timeout, SvcName, App, Opts, {TRef, Req})).
  
  %% recv_A/5
  
  recv_A(Timeout, SvcName, App, Opts, {TRef, #request{ref = Ref} = Req}) ->
      %% Matching on TRef below ensures we ignore messages that pertain
      %% to a previous transport prior to failover. The answer message
      %% includes the #request{} since it's not necessarily Req; that
  
negative.code:     TRef = erlang:start_timer(Timeout, self(), TPid),
      T = {TPid, Pkt, Req, SvcName, Timeout, TRef},
      spawn(node(TPid), ?MODULE, send, [T]),
      {TRef, false}.
  
  %% send/1
  
  