anchor.diff:  
   %% -- translators ------------------------------------------------------
   
  -format_translators(_Defs, #anres{map_translations=Ts}=AnRes, Opts) ->
  -    [[[format_field_op_translator(ElemPath, Op, Fn, ArgTemplate)
  -       || {Op, {Fn, ArgTemplate}} <- OpTransls]
  +format_translators(_Defs, #anres{translations=Ts}=AnRes, Opts) ->
  +    [[[format_field_op_translator(ElemPath, Op, CallTemplate)
  +       || {Op, CallTemplate} <- OpTransls]
         || {ElemPath, OpTransls} <- dict:to_list(Ts)],
        format_default_translators(AnRes, Opts)].
   
  -format_merge_translators(_Defs, #anres{map_translations=Ts}=AnRes, Opts) ->
  -    [[[format_field_op_translator(ElemPath, Op, Fn, ArgTemplate)
  -       || {Op, {Fn, ArgTemplate}} <- OpTransls,
  +format_merge_translators(_Defs, #anres{translations=Ts}=AnRes, Opts) ->
  +    [[[format_field_op_translator(ElemPath, Op, CallTemplate)
  +       || {Op, CallTemplate} <- OpTransls,
             Op == merge]
         || {ElemPath, OpTransls} <- dict:to_list(Ts)],
        format_default_merge_translators(AnRes, Opts)].
   
  -format_field_op_translator(ElemPath, Op, Fn, ArgTemplate) ->
  +format_field_op_translator(ElemPath, Op, CallTemplate) ->
  +    ArgTemplate = last_tuple_element(CallTemplate),
       FnName = mk_tr_fn_name(ElemPath, Op),
       InArgs = underscore_unused_args(args_by_op(Op), ArgTemplate),
       TrArgs = [case Term of
  
positive.code:           d_field_pass_method,% :: dict:dict()  %% MsgName -> pass_as_record |
                                %                 %%            pass_as_params
            maps_as_msgs,       % :: list() % same format as `Defs'
            map_translations,   % :: [translation()]
            map_types           % :: sets:set({map,_,_})
          }).
  
  
negative.code:               end
                || Term <- ArgTemplate],
      [inline_attr(FnName,length(InArgs)),
       case CallTemplate of
           {Fn, ArgTemplate} ->
               gpb_codegen:format_fn(
                 FnName,
                 fun('InArgs') ->
                         'Fn'('TrArgs')
                 end,
                 [replace_term('Fn', Fn),
                  splice_trees('InArgs', InArgs),
                  splice_trees('TrArgs', TrArgs)]);
           {Mod, Fn, ArgTemplate} ->
               gpb_codegen:format_fn(
                 FnName,
                 fun('InArgs') ->
                         'Mod':'Fn'('TrArgs')
                 end,
                 [replace_term('Mod', Mod),
                  replace_term('Fn', Fn),
                  splice_trees('InArgs', InArgs),
                  splice_trees('TrArgs', TrArgs)])
       end].
  
  last_tuple_element(Tuple) ->
      element(tuple_size(Tuple), Tuple).
  
  underscore_unused_args(Args, Templ) ->
      [case is_arg_used(I, Templ) of
  