anchor.diff:  merge_warns({error, R}, Warns, _OutFmt)          -> {error, R, Warns};
   merge_warns({error, R, Warns1}, Warns2, _OutFmt) -> {error, R, Warns2++Warns1};
   merge_warns(error, Warns, binary) ->
  -    erlang:error({internal_error, generated_code_failed_to_compile, Warns}).
  +    erlang:error({internal_error, ?MODULE,
  +                  generated_code_failed_to_compile, Warns}).
   
   possibly_report_warnings(Result, Opts) ->
       Warns = case Result of
  
positive.code:     ErlCode2 = replace_module_macro(ErlCode, ModAsStr),
      {ok, Toks, _EndLine} = erl_scan:string(ErlCode2),
      FormToks = split_toks_at_dot(Toks),
      Forms = lists:map(fun(Ts) ->
                                {ok, Form} = erl_parse:parse_form(Ts),
                                Form
                        end,
                        FormToks),
      {AttrForms, CodeForms} = split_forms_at_first_code(Forms),
      FieldDef = field_record_to_attr_form(),
      MsgRecordForms = msgdefs_to_record_attrs(MsgDefs),
  
negative.code:         uint64   -> format_vi_based_field_decoder(MsgName, Field, AnRes, Opts);
          bool     -> format_vi_based_field_decoder(MsgName, Field, AnRes, Opts);
          {enum,_} -> format_vi_based_field_decoder(MsgName, Field, AnRes, Opts);
          fixed32  -> format_fixlen_field_decoder(MsgName, Field, AnRes);
          sfixed32 -> format_fixlen_field_decoder(MsgName, Field, AnRes);
          float    -> format_fixlen_field_decoder(MsgName, Field, AnRes);
          fixed64  -> format_fixlen_field_decoder(MsgName, Field, AnRes);
          sfixed64 -> format_fixlen_field_decoder(MsgName, Field, AnRes);
          double   -> format_fixlen_field_decoder(MsgName, Field, AnRes);
          string   -> format_vi_based_field_decoder(MsgName, Field, AnRes, Opts);
          bytes    -> format_vi_based_field_decoder(MsgName, Field, AnRes, Opts);
          {msg,_}  -> format_vi_based_field_decoder(MsgName, Field, AnRes, Opts)
  