anchor.diff:                    [SrcVar, MsgVar, SetterFnName]);
              bool ->
                  ?f("{\n"
  -                  "    if (enif_is_identical(~s, aa_true))\n"
  +                  "    if (enif_is_identical(~s, gpb_aa_true))\n"
                     "        ~s->~s(1);\n"
                     "    else\n"
                     "        ~s->~s(0);\n"
  
positive.code:     #field{name=FName, type=FType} = Field,
      LCFName = to_lower(FName),
      [?f("    if (!~s->has_~s())\n", [MsgVar, LCFName]),
       ?f("        ~s = aa_undefined;\n", [DestVar]),
       ?f("    else\n"),
       indent_lines(
         8,
  
negative.code:                    [MsgVar, LCFName])];
             bool ->
                 [?f("if (~s->~s(i))\n", [MsgVar, LCFName]),
                  ?f("    relem[i] = gpb_aa_true;\n"),
                  ?f("else\n"),
                  ?f("    relem[i] = gpb_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 ~s: relem[i] = ~s; break;\n",
                         [Sym, mk_c_var(gpb_aa_, Sym)])
                      || {Sym, _Value} <- Enumerations] ++
                     [?f("    default: relem[i] = gpb_aa_undefined;\n")] ++
                     [?f("}\n")];
             string ->
                 [?f("{\n"),
  