anchor.diff:  %%            Opt  = {type_specs, boolean()} | type_specs |
   %%                   {verify, optionally | always | never} |
   %%                   {copy_bytes, true | false | auto | integer() | float()} |
  +%%                   {nif,boolean()} | nif |
   %%                   {i, directory()} |
   %%                   {o, directory()} |
   %%                   binary | to_msg_defs |
  
positive.code: parse_opt({"I", [Dir]})          -> {true, {i,Dir}};
  parse_opt({"I"++Dir, []})        -> {true, {i,Dir}};
  parse_opt({"o", [Dir]})          -> {true, {o,Dir}};
  parse_opt({"v", ["optionally"]}) -> {true, {verify,optionally}};
  parse_opt({"v", ["always"]})     -> {true, {verify,always}};
  parse_opt({"v", ["never"]})      -> {true, {verify,never}};
  
negative.code:     [f("~p(<<_:~w, Rest/binary>>, Msg) ->~n", [SkipFn, BitLen]),
       f("    ~p(Rest, 0, 0, Msg).~n~n",  [mk_fn(d_read_field_def_, MsgName)])].
  
  
  format_nif_decoder_error_wrappers(Defs, _AnRes, _Opts) ->
      [format_msg_nif_error_wrapper(MsgName)
       || {{msg, MsgName}, _MsgDef} <- Defs].
  
  format_msg_nif_error_wrapper(MsgName) ->
      FnName = mk_fn(d_msg_, MsgName),
      f("~p(Bin) ->~n"
        "    erlang:nif_error({error,{nif_not_loaded,~p}}, [Bin]).~n~n",
       [FnName, MsgName]).
  
  %% -- verifiers -----------------------------------------------------
  
  format_verifier_topcase(Indent, Defs, MsgVar) ->
  