anchor.diff:       replace_tree('Var#{fname=>NF}', map_set(Var, [{FName, NF}])),
        replace_tree('Var#{fname=>PF}', map_set(Var, [{FName, PF}])),
        replace_tree('#{fname := NF}', map_match([{FName, NF}])),
  -     replace_tree('#{fname := PF}', map_match([{FName, PF}]))].
  +     replace_tree('#{fname := PF}', map_match([{FName, PF}])),
  +     replace_tree('TrUserData', TrUserDataVar)].
   
   format_field_skippers(MsgName, AnRes) ->
       SkipVarintFnName = mk_fn(skip_varint_, MsgName),
  
positive.code:        end,
         ?f("-export([decode_msg/2"),[", decode_msg/3" || NoNif], ?f("]).~n"),
         case get_records_or_maps_by_opts(Opts) of
             records -> ?f("-export([merge_msgs/2]).~n");
             maps    -> ?f("-export([merge_msgs/3]).~n")
         end,
         case get_records_or_maps_by_opts(Opts) of
             records -> ?f("-export([verify_msg/1]).~n");
  
negative.code:                       ++ OneofTransforms,
                    MmO = map_match([{FName, ?expr({'tag', 'OPF'}, Trs2)}]),
                    MmN = map_match([{FName, ?expr({'tag', 'ONF'}, Trs2)}]),
                    MergeCall = ?expr({'tag','merge'('OPF','ONF', 'TrUserData')},
                                      Trs2),
                    [replace_tree(
                       '{#{fname := {tag,OPF}}, #{fname := {tag,ONF}}}',
                       ?expr({'#{fname := {tag,OPF}}', '#{fname := {tag,ONF}}'},
  