anchor.diff:  
   format_decoders(Defs, AnRes, Opts) ->
       [format_enum_decoders(Defs, AnRes),
  -     format_initial_msgs(Defs, AnRes),
        format_msg_decoders(Defs, AnRes, Opts)].
   
   format_enum_decoders(Defs, #anres{used_types=UsedTypes}) ->
  
positive.code:      "\n\n"].
  
  msg_decoder_initial_params(MsgName, MsgDef, AnRes) ->
      case get_field_pass(MsgName, AnRes) of
          pass_as_params ->
              [erl_parse:abstract(case Occurrence of
                                      repeated -> [];
                                      required -> undefined;
                                      optional -> undefined
                                  end)
               || #field{occurrence=Occurrence} <- MsgDef];
          pass_as_record ->
              [?expr('<msg0-call>'(),
                     [{replace_term, '<msg0-call>', mk_fn(msg0_, MsgName)}])]
      end.
  
  decoder_params(MsgName, MsgDef, AnRes) ->
  
negative.code:       ".\n\n"]
       || {{enum, EnumName}, EnumDef} <- Defs,
          smember({enum,EnumName}, UsedTypes)].
  
  format_msg_decoders(Defs, AnRes, Opts) ->
      [format_msg_decoder(MsgName, MsgDef, AnRes, Opts)
  