anchor.diff:       UnpackFnName,"(ErlNifEnv *env, const ",CMsgType," *m)\n",
        "{\n",
        "    ERL_NIF_TERM res;\n",
  -     ?f("    ERL_NIF_TERM rname = ~s;\n", [mk_c_var(aa_, MsgName)]),
  +     ?f("    ERL_NIF_TERM rname = ~s;\n", [mk_c_var(gpb_aa_, MsgName)]),
        [?f("    ERL_NIF_TERM elem~w;\n", [I]) || I <- Is],
        "\n",
        [begin
  
positive.code:                    [MsgVar, LCFName])];
             bool ->
                 [?f("if (~s->~s(i))\n", [MsgVar, LCFName]),
                  ?f("    relem[i] = aa_true;\n"),
                  ?f("else\n"),
                  ?f("    relem[i] = aa_false;\n")];
             {enum, EnumName} ->
                 {value, {{enum,EnumName}, Enumerations}} =
                     lists:keysearch({enum,EnumName}, 1, Defs),
                 [] ++
                     [?f("switch (~s->~s(i)) {\n", [MsgVar, LCFName])] ++
                     [?f("    case ~w: relem[i] = ~s; break;\n",
                         [Value, mk_c_var(aa_, Sym)])
                      || {Sym, Value} <- Enumerations] ++
                     [?f("    default: relem[i] = aa_undefined;\n")] ++
                     [?f("}\n")];
             string ->
                 [?f("{\n"),
  
negative.code:                    [DestVar, MsgVar, LCFName])];
             bool ->
                 [?f("if (~s->~s())\n", [MsgVar, LCFName]),
                  ?f("    ~s = gpb_aa_true;\n", [DestVar]),
                  ?f("else\n"),
                  ?f("    ~s = gpb_aa_false;\n", [DestVar])];
             {enum, EnumName} ->
                 {value, {{enum,EnumName}, Enumerations}} =
                     lists:keysearch({enum,EnumName}, 1, Defs),
                 [] ++
                     [?f("switch (~s->~s()) {\n", [MsgVar, LCFName])] ++
                     [?f("    case ~s: ~s = ~s; break;\n",
                         [Sym, DestVar, mk_c_var(gpb_aa_, Sym)])
                      || {Sym, _Value} <- Enumerations] ++
                     [?f("    default: ~s = gpb_aa_undefined;\n", [DestVar])] ++
                     [?f("}\n")];
             string ->
                 [?f("{\n"),
  