anchor.diff:       indent(I, f("       occurrence=~w, is_packed=~p,~n", [O, IsPacked])),
        indent(I, f("       opts=~p}", [Opts]))].
   
  +%% -- hrl -----------------------------------------------------
   
   format_hrl(Mod, Defs, Opts) ->
       iolist_to_binary(
  
positive.code:        "\n",
         f("~s~n", [format_msg_merge_code(Defs)]),
         "\n",
         f("verify_msg(Msg) ->~n"
           "    gpb:verify_msg(Msg, get_msg_defs()).~n"),
         "\n",
         f("get_msg_defs() ->~n"
           "    [~s].~n", [outdent_first(format_msgs_and_enums(5, Defs))])]).
  
  format_encoder_topcase(Indent, Defs, MsgVar) ->
      IndStr = indent(Indent+4, ""),
  
negative.code:         Default   -> {FName, Default}
      end.
  
  %% -- internal utilities -----------------------------------------------------
  
  index_seq([]) -> [];
  index_seq(L)  -> lists:zip(lists:seq(1,length(L)), L).
  