anchor.diff:  
       try Mod:avp(decode, Data, AvpName) of
           V ->
  -            {Avps, T} = Acc,
               {H, A} = ungroup(V, Avp),
  -            {[H | Avps], pack_avp(Name, A, T)}
  +            {H, pack_avp(Name, A, Acc)}
       catch
           throw: {?TAG, {grouped, Error, ComponentAvps}} ->
               g(is_failed(), Error, Name, trim(Avp), Acc, ComponentAvps);
  
positive.code: 
  decode_avps(Name, Recs) ->
      {Avps, {Rec, Failed}}
          = lists:foldl(fun(T,A) -> decode(Name, T, A) end,
                        {[], {newrec(Name), []}},
                        Recs),
      {Rec, Avps, Failed ++ missing(Rec, Name, Failed)}.
  %% Append 5005 errors so that errors are reported in the order
  
negative.code: %% Don't know this AVP: see if it can be packed in an 'AVP' field
  %% undecoded. Note that the type field is 'undefined' in this case.
  
  decode_AVP(Name, Avp, Acc) ->
      {trim(Avp), pack_AVP(Name, Avp, Acc)}.
  
  %% rc/1
  
  