anchor.diff:                            || {EnumSym, EnumValue} <- EnumDef])])]
         || {{enum, EnumName}, EnumDef} <- EnumDefs]];
   format_enum_value_symbol_converters([]=_EnumDefs) ->
  -    [gpb_codegen:format_fn(
  +    ["-spec enum_symbol_by_value(_, _) -> no_return().\n",
  +     gpb_codegen:format_fn(
          enum_symbol_by_value,
          fun(E, V) -> erlang:error({no_enum_defs, E, V}) end),
        "\n",
  +     "-spec enum_value_by_symbol(_, _) -> no_return().\n",
        gpb_codegen:format_fn(
          enum_value_by_symbol,
          fun(E, V) -> erlang:error({no_enum_defs, E, V}) end),
  
positive.code:       Opts).
  
  format_fetch_msg_defs([]) ->
      gpb_codegen:format_fn(
        fetch_msg_def,
        fun(MsgName) -> erlang:error({no_such_msg, MsgName}) end);
  format_fetch_msg_defs(_MsgDefs) ->
      gpb_codegen:format_fn(
        fetch_msg_def,
  
negative.code:       end).
  
  format_fetch_enum_defs([]) ->
      ["-spec fetch_enum_def(_) -> no_return().\n",
       gpb_codegen:format_fn(
         fetch_enum_def,
         fun(EnumName) -> erlang:error({no_such_enum, EnumName}) end)];
  format_fetch_enum_defs(_EnumDefs) ->
      gpb_codegen:format_fn(
        fetch_enum_def,
  