anchor.diff:              setelement(RNum, Record, {Name, Value})
       end.
   
  -merge_field(RNum, NewMsg, Record, MsgDefs)                                     ->
  +merge_field(RNum, NewMsg, Record, MsgDefs) ->
       case element(RNum, Record) of
           undefined ->
               setelement(RNum, Record, NewMsg);
  
positive.code:                 encode_field(Field, Msg, MsgDefs)
          end,
      encode_2(Rest, Msg, MsgDefs, <<Acc/binary, EncodedField/binary>>);
  encode_2([#gpb_oneof{fields=Fields, rnum=RNum} | Rest], Msg, MsgDefs, Acc)     ->
      case element(RNum, Msg) of
          {Name, Value} ->
              Field = lists:keyfind(Name, #?gpb_field.name, Fields),
  
negative.code:         undefined ->
              encode_2(Rest, Msg, MsgDefs, Acc)
      end;
  encode_2([], _Msg, _MsgDefs, Acc) ->
      Acc.
  
  encode_packed(#?gpb_field{rnum=RNum, fnum=FNum, type=Type}, Msg, MsgDefs) ->
      case element(RNum, Msg) of
          []    ->
              <<>>;
  