anchor.diff:                                     %% decode is packed into 'AVP'.
   
       %% Reset the dictionary for best-effort decode of Failed-AVP.
  -    DecMod = if Failed ->
  -                     AppMod;
  -                true ->
  -                     Mod
  +    DecMod = if Failed -> AppMod;
  +                true   -> Mod
                end,
   
  -    %% On decode, a Grouped AVP is represented as a #diameter_avp{}
  -    %% list with AVP as head and component AVPs as tail. On encode,
  -    %% data can be a list of component AVPs.
  +    %% A Grouped AVP is represented as a #diameter_avp{} list with AVP
  +    %% as head and component AVPs as tail. On encode, data can be a
  +    %% list of component AVPs.
   
       try avp_decode(Data, AvpName, Opts, DecMod, Mod) of
           {Rec, As} when Type == 'Grouped' ->
  
positive.code:        Mod,
         #diameter_avp{code = Code, vendor_id = Vid}
         = Avp,
         Acc) ->
      decode(Name, Opts, Mod, Mod:avp_name(Code, Vid), Avp, Acc).
  
  %% decode/6
  
  
negative.code: 
  %% decode_error/7
  
  decode_error(Name, [_|Rec], _, #{failed_avp := true} = Opts, Mod, Avp, Acc) ->
      decode_AVP(Name, Avp#diameter_avp{value = Rec}, Opts, Mod, Acc);
  
  decode_error(Name, _, _, #{failed_avp := true} = Opts, Mod, Avp, Acc) ->
  