anchor.diff:                           abstract(<<>>)]))]),
       NilClause2 = erl_syntax:clause(
                      [erl_syntax:underscore()], none, [abstract(true)]),
  -    [erl_syntax:function(erl_syntax:atom("decode"), C1 ++ [NilClause1]),
  +    [make_function(
  +       "decode",
  +       [erl_syntax:variable("_el")],
  +       [make_function_call(
  +	  "decode", [erl_syntax:variable("_el"), erl_syntax:list([])])]),
  +     make_function("decode",
  +		   [erl_syntax:variable("_el"), erl_syntax:variable("Opts")],
  +		   [C0,
  +		    erl_syntax:case_expr(
  +		      erl_syntax:variable("_el"),
  +		      C1 ++ [NilClause1])]),
        erl_syntax:function(erl_syntax:atom("is_known_tag"), C2 ++ [NilClause2])];
   make_top_decoders(TaggedSpecs1, ModName, false) ->
       TaggedSpecs = lists:flatmap(
  
positive.code:                   [tuple_or_single_var(
                       CDataCall ++ ResultElems ++ SubElResult ++ XmlElResult)]),
      SubElPattern = [erl_syntax:variable("__TopXMLNS"),
  		    erl_syntax:list(
                        [erl_syntax:match_expr(
                           erl_syntax:tuple(
  
negative.code:                              [make_function_call(
                                  FunName,
                                  [erl_syntax:variable("__TopXMLNS"),
  				 erl_syntax:variable("__IgnoreEls"),
  				 erl_syntax:variable("_els")|
                                   ResultCData ++ ElemVars ++ SubElVars ++ XmlElVars])])];
                       true ->
  