anchor.diff:                  X when X == records;
                          X == {maps, present_undefined} ->
                       ?expr(
  -                       if '<F>' == undefined -> '<Bin>';
  -                          true -> '<enc>'('<F>', <<'<Bin>'/binary, '<Key>'>>)
  +                       if '<F>' == undefined ->
  +                               '<Bin>';
  +                          true ->
  +                               'TrF' = 'Tr'('<F>'),
  +                               '<enc>'('TrF', <<'<Bin>'/binary, '<Key>'>>)
                          end,
                          Transforms);
                   {maps, omitted} ->
                       ?expr(
                          case 'M' of
                              '#{fieldname := <F>}' ->
  -                               '<enc>'('<F>', <<'<Bin>'/binary, '<Key>'>>);
  +                               'TrF' = 'Tr'('<F>'),
  +                               '<enc>'('TrF', <<'<Bin>'/binary, '<Key>'>>);
                              _ ->
                                  '<Bin>'
                          end,
  
positive.code:          {repeated, false} ->
               format_repeated_field_encoder2(MsgName, FieldDef, AnRes);
           {repeated, true} ->
               format_packed_field_encoder2(MsgName, FieldDef);
           {optional, false} ->
               [];
           {required, false} ->
               []
       end].
  
  possibly_format_mfield_encoder(MsgName, #?gpb_field{type={msg,SubMsg}}=FieldDef,
                                 AnRes) ->
      FnName = mk_field_encode_fn_name(MsgName, FieldDef),
      case is_msgsize_known_at_generationtime(SubMsg, AnRes) of
  
negative.code:     [].
  
  field_encode_expr(MsgName, MsgVar, #?gpb_field{name=FName}=Field,
                    FVar, PrevBVar, Defs, Tr, _AnRes, Opts,
                    P3TypeDefaultHandling)->
      FEncoder = mk_field_encode_fn_name(MsgName, Field),
      #?gpb_field{occurrence=Occurrence, type=Type, fnum=FNum, name=FName}=Field,
      TrFVar = prefix_var("Tr", FVar),
      Transforms = [replace_term('fieldname', FName),
                    replace_tree('<F>', FVar),
                    replace_tree('TrF', TrFVar),
                    replace_term('Tr', Tr(encode)),
                    replace_term('<enc>', FEncoder),
                    replace_tree('<Bin>', PrevBVar),
                    splice_trees('<Key>', key_to_binary_fields(FNum, Type))],
  