anchor.diff:  		none,
   		[?AST(Mod = get_mod(El)),
   		 ?AST(Mod:do_encode(El, TopXMLNS))]),
  -    PPCase = ?AST(io_lib_pretty:print(Term, fun pp/2)),
       [make_function(encode, [?AST(El)], [?AST(encode(El, <<>>))]),
        erl_syntax:function(?AST(encode), [Clause1, Clause2]),
        make_function(get_name, [?AST(El)], GetNameCase),
  
positive.code:     end.
  
  make_printer(TaggedSpecs, PredefRecords, ModName, ParentMod) ->
      PassClause1 = erl_syntax:clause(
  		    [?AST(Name), ?AST(Arity)],
  		    none,
  		    [erl_syntax:case_expr(
  		       ?AST('?a(ParentMod)':get_mod(
  			      erlang:make_tuple(Arity+1, undefined, [{1, Name}]))),
  		       [erl_syntax:clause(
  			  [?AST(undefined)], none, [?AST(no)]),
  			erl_syntax:clause(
  			  [?AST(Mod)],
  			  none,
  			  [?AST(Mod:pp(Name, Arity))])])]),
      %% Exclude tags with duplicated results
      RecNames = lists:foldl(
                   fun({Tag, #elem{result = Result, module = Mod}}, Acc)
  
negative.code: 		    ?AST(Mod:get_els(Term))]),
       make_function(set_els, [?AST(Term), ?AST(Els)],
  		   [?AST(Mod = get_mod(Term)),
  		    ?AST(Mod:set_els(Term, Els))])].
  
  make_encoders(TaggedSpecs, ModName) ->
      {RecNames, ResNames} =
  