anchor.diff:  %% just resend with a new hop by hop identifier, but might a proxy
   %% want to examine the answer?
   
  -answer(Pkt, SvcName, AE, #request{transport = TPid} = Req) ->
  +answer(Pkt, SvcName, AE, #request{transport = TPid,
  +                                  dictionary = Dict}
  +                         = Req) ->
       try
  -        incr(recv, Pkt, TPid)
  +        incr(recv, Pkt, Dict, TPid)
       of
           _ -> a(Pkt, SvcName, AE, Req)
       catch
  
positive.code:         orelse (E andalso PE)
          orelse x({invalid_error_bit, RC}, answer, [Dir, Pkt]),
  
      incr(TPid, Hdr, Dir, rc_counter(Rec, RC)).
  
  %% incr/4
  
  incr(TPid, Hdr, Dir, Ctr)
    when is_tuple(Ctr) ->
      incr(TPid, {diameter_codec:msg_id(Hdr), Dir, Ctr});
  
  incr(_, _, _, _) ->
      false.
  
  %% incr/2
  
  
negative.code: %% Maintain statistics assuming one or the other, not both, which is
  %% surely the intent of the RFC.
  
  rc_counter(Dict, Rec, undefined) ->
      er(get_avp_value(Dict, 'Experimental-Result', Rec));
  rc_counter(_, _, RC) ->
      {'Result-Code', RC}.
  
  %% Outgoing answers may be in any of the forms messages can be sent
  %% in. Incoming messages will be records. We're assuming here that the
  %% arity of the result code AVP's is 0 or 1.
  
  er([{_,_,N} = T | _])
    when is_integer(N) ->
      T;
  er({_,_,N} = T)
    when is_integer(N) ->
      T;
  er(_) ->
      undefined.
  
  %% Extract the first good looking integer. There's no guarantee
  %% that what we're looking for has arity 1.
  int([N|_])
    when is_integer(N) ->
      N;
  int(N)
  