anchor.diff:       indent(I, f("       occurrence=~w, opts=~p}", [O, Opts]))].
   
   
  -format_hrl(Mod, Defs) ->
  +format_hrl(Mod, Defs, Opts) ->
       iolist_to_binary(
         [f("-ifndef(~p).~n", [Mod]),
          f("-define(~p, true).~n", [Mod]),
          "\n",
  -       string:join([format_msg_record(Msg,Fs) || {{msg,Msg},Fs} <- Defs],
  +       string:join([format_msg_record(Msg,Fs,Opts) || {{msg,Msg},Fs} <- Defs],
                      "\n"),
          "\n",
          f("-endif.~n")]).
   
  -format_msg_record(Msg, Fields) ->
  +format_msg_record(Msg, Fields, Opts) ->
       [f("-record(~p,~n", [Msg]),
        f("        {"),
  -     outdent_first(format_hfields(8+1, Fields)),
  +     outdent_first(format_hfields(8+1, Fields, Opts)),
        "\n",
        f("        }).~n")].
   
  -format_hfields(Indent, Fields) ->
  +format_hfields(Indent, Fields, CompileOpts) ->
  +    TypeSpecs = proplists:get_value(type_specs, CompileOpts, false),
       string:join(
         lists:map(
  -        fun({I, #field{name=Name, fnum=FNum, type=Type, opts=Opts}}) ->
  -                DefaultStr = case proplists:get_value(default, Opts, '$no') of
  +        fun({I, #field{name=Name, fnum=FNum, type=Type, opts=FOpts}}) ->
  +                DefaultStr = case proplists:get_value(default, FOpts, '$no') of
                                    '$no'   -> "";
                                    Default -> f(" = ~p", [Default])
                                end,
  
positive.code:                               true               -> "" %% last entry
                             end,
                  FieldTxt1 = indent(Indent, f("~w~s", [Name, DefaultStr])),
                  LineUpStr1 = lineup(iolist_size(FieldTxt1), 32),
                  FieldTxt2 = f("~s~s:: ~s~s", [FieldTxt1, LineUpStr1,
                                                TypeStr, CommaSep]),
                  LineUpStr2 = lineup(iolist_size(FieldTxt2), 54),
                  f("~s~s% = ~w, ~w",
                    [FieldTxt2, LineUpStr2, FNum, Type])
  
negative.code: locate_import_aux([], Import) ->
      {error, {import_not_found, Import}}.
  
  format_erl(Mod, Defs, _Opts) ->
      iolist_to_binary(
        [f("%% Automatically generated, do not edit~n"
           "%% Generated by ~p on ~p~n", [?MODULE, calendar:local_time()]),
  