anchor.diff:  repeat_clauses(Marker, RepetitionReplacements) ->
       {repeat_clauses, Marker, RepetitionReplacements}.
   
  -f(F)   -> f(F,[]).
  -f(F,A) -> io_lib:format(F,A).
  -
   flatten_iolist(IoList) ->
       binary_to_list(iolist_to_binary(IoList)).
   
  
positive.code:     Atoms = lists:usort(EnumAtoms ++ RecordAtoms ++ MiscAtoms1),
      AtomVars = [{mk_c_var(aa_, A), A} || A <- Atoms],
  
      [[f("static ERL_NIF_TERM ~s;\n", [Var]) || {Var,_Atom} <- AtomVars],
       "\n",
       ["static void install_atoms(ErlNifEnv *env)\n"
        "{\n",
        [f("    ~s = enif_make_atom(env, \"~s\");\n", [AtomVar, Atom])
         || {AtomVar, Atom} <- AtomVars],
        "}\n",
        "\n"]].
  
negative.code:         fun({I, #field{name=Name, fnum=FNum, opts=FOpts, occurrence=Occur}=Field}) ->
                  DefaultStr = case proplists:get_value(default, FOpts, '$no') of
                                   '$no'   -> case Occur of
                                                  repeated -> ?f(" = []");
                                                  _        -> ""
                                              end;
                                   Default -> ?f(" = ~p", [Default])
                               end,
                  TypeStr = ?f("~s", [type_to_typestr(Field, Defs)]),
                  CommaSep = if I < length(Fields) -> ",";
                                true               -> "" %% last entry
                             end,
                  FieldTxt1 = indent(Indent, ?f("~w~s", [Name, DefaultStr])),
                  FieldTxt2 = if TypeSpecs ->
                                      LineUp = lineup(iolist_size(FieldTxt1), 32),
                                      ?f("~s~s:: ~s~s", [FieldTxt1, LineUp,
                                                         TypeStr, CommaSep]);
                                 not TypeSpecs ->
                                      ?f("~s~s", [FieldTxt1, CommaSep])
                              end,
                  LineUpCol2 = if TypeSpecs -> 52;
                                  not TypeSpecs -> 40
                               end,
                  LineUpStr2 = lineup(iolist_size(FieldTxt2), LineUpCol2),
                  TypeComment = type_to_comment(Field, TypeSpecs),
                  ?f("~s~s% = ~w~s~s",
                     [FieldTxt2, LineUpStr2, FNum,
                      [", " || TypeComment /= ""], TypeComment])
          end,
          index_seq(Fields)),
        "\n").
  