anchor.diff:                       , "%% ----------"
                        , io_lib:format("%% ~s", [Input])
                        , "%%"
  -                     , io_lib:format("%~s =>", [Params])
  -                     , io_lib:format("%   ~s;", [Result])
  +                     , io_lib:format("%%~s =>", [Params])
  +                     , io_lib:format("%%   ~s;", [Result])
                       ], "\n")
              end
              || {{prim,1,1,Input}, {prim,1,1,Output}} <- C#contract.anystate ],
  
positive.code:   when Tag=:=record;
         Tag=:=record_ext ->
      Elements = tl(tuple_to_list(Elements0)),
      Definition = join([ io_lib:format("'~s'::~s", [Field, typeref(Style,Element,C)])
                          || {Field,Element} <- lists:zip(Fields,Elements) ], ", "),
      io_lib:format("#~s{ ~s }", [Name, Definition]);
  %% list
  
negative.code:           , "%%"
            , ""
            , ""
            , [ ["%% ", atom_to_list(Name), "()", "\n%%\t", type(ubf,Name,C)
                 , "\n\n-ifndef('$ubf_type_", atom_to_list(Name), "').\n"
                 , "-define('$ubf_type_", atom_to_list(Name), "', true).\n"
                 , "-type '", atom_to_list(Name), "'()", " :: ", "\n\t", type(erlang,Name,C)
                 , ".\n"
                 , "-endif.\n\n"
                ]
                || Name <- C#contract.leaftypenames,
                   not lists:member(Name, contract_parser:builtin_types(erlang)) ]
            , ""
            , ""
           ],
  