anchor.diff:  unexpected(F, A, #state{service_name = Name}) ->
       ?UNEXPECTED(F, A ++ [Name]).
   
  +cb(#diameter_app{module = [_|_] = M}, F, A) ->
  +    eval(M, F, A);
   cb([_|_] = M, F, A) ->
  -    eval(M, F, A);
  -cb(Rec, F, A) ->
  -    {_, M} = app(Rec),
       eval(M, F, A).
  -
  -app(#request{app = A, module = M}) ->
  -    {A,M};
  -app(#diameter_app{alias = A, module = M}) ->
  -    {A,M}.
   
   eval([M|X], F, A) ->
       apply(M, F, A ++ X).
  
positive.code: 
  %% Term passed back to receive_message/4 with every incoming message.
  -record(recvdata,
          {peerT :: ets:tid(),
           service_name :: diameter:service_name(),
           apps :: [#diameter_app{}],
           sequence :: diameter:sequence()}).
  
  %% ---------------------------------------------------------------------------
  %% # start/1
  
negative.code:     end;
  
  %% ... answer to known request ...
  recv(false, #request{ref = Ref, handler = Pid} = Req, _, Pkt, Dict0, _) ->
      Pid ! {answer, Ref, Req, Dict0, Pkt};
  %% Note that failover could have happened prior to this message being
  %% received and triggering failback. That is, both a failover message
  