anchor.diff:  decode_int_value(ResVar, Bindings, #field{type=Type}, Opts, TailFn) ->
       Value = fetch_binding('<Value>', Bindings),
       Rest = fetch_binding('<Rest>', Bindings),
  -    StringsAsBinaries = proplists:get_bool(strings_as_binaries, Opts),
  +    StringsAsBinaries = get_strings_as_binaries_by_opts(Opts),
       case Type of
           sint32 ->
               TailFn(decode_zigzag_to_var(ResVar, Value), Rest);
  
positive.code: repeat_clauses(Marker, RepetitionReplacements) ->
      {repeat_clauses, Marker, RepetitionReplacements}.
  
  flatten_iolist(IoList) ->
      binary_to_list(iolist_to_binary(IoList)).
  
  
negative.code:      "                                ERL_NIF_LATIN1);\n",
       "    }\n",
       "    else\n",
       case get_strings_as_binaries_by_opts(Opts) of
           true ->
               ["    {\n",
                "        ERL_NIF_TERM   b;\n",
                "        unsigned char *data;\n",
                "\n",
                "        data = enif_make_new_binary(env, numOctets, &b);\n",
                "        memmove(data, utf8data, numOctets);\n",
                "        return b;\n",
                "    }\n"];
           false ->
               ["    {\n",
                "        unsigned int  cp[numcp];\n",
                "        ERL_NIF_TERM  es[numcp];\n",
                "        int i;\n",
                "\n",
                "        utf8_to_uint32(cp, utf8data, numcp);\n",
                "        for (i = 0; i < numcp; i++)\n",
                "            es[i] = enif_make_uint(env, cp[i]);\n",
                "        return enif_make_list_from_array(env, es, numcp);\n"
                "    }\n"]
       end,
       "}\n",
       "\n"].
  
  