anchor.diff:  
   make_elem_dec_fun(#elem{name = Name, result = Result, refs = Refs,
                           cdata = CData, attrs = Attrs, xmlns = XMLNS},
  -                  Tag, AllElems, Types, ModName) ->
  +                  Tag, AllElems, Types, ModName, Opts) ->
       FunName = make_dec_fun_name([Tag]),
       ResultWithVars = subst_labels(Result),
       AttrVars = lists:map(
  
positive.code:             Err
      end.
  
  do_compile(Path) ->
      case consult(Path) of
          {ok, Terms, Forms} ->
              Elems = lists:flatmap(
  
negative.code:     Types = get_types(TaggedElems),
      AST = lists:flatmap(
              fun({Tag, Elem}) ->
                      Elem1 = prepare_elem(Elem, KnownFuns, TaggedElems, Opts),
                      elem_to_AST(Elem1, Tag, TaggedElems, Types, ModName, Opts)
              end, TaggedElems),
      Module = erl_syntax:attribute(
                 erl_syntax:atom("module"),
                 [erl_syntax:atom(list_to_atom(ModName))]),
      Decoders = make_top_decoders(TaggedElems, ModName, Opts),
      Encoders = make_top_encoders(TaggedElems, Opts),
      Printer = make_printer(TaggedElems),
      AuxFuns = make_aux_funs(),
      NewAST = Decoders ++ Encoders ++ AuxFuns ++
  