anchor.diff:        MsgDef).
   
   
  -encode_msg(Msg, MsgDefs)                                                       ->
  +encode_msg(Msg, MsgDefs) ->
       MsgName = element(1, Msg),
       MsgDef = keyfetch({msg, MsgName}, MsgDefs),
       encode_2(MsgDef, Msg, MsgDefs, <<>>).
  
positive.code:         #?gpb_field{rnum = RNum, occurrence = repeated} ->
              append_to_element(RNum, Value, Record)
      end;
  add_field(Value, FieldDef, true=_IsOneof, MsgDefs, Record)                     ->
      #?gpb_field{rnum=RNum, name=Name} = FieldDef,
      case FieldDef of
          #?gpb_field{type={msg,_SubMsgType}} ->
  
negative.code:             {{Key,Value}, Rest2}
          end.
  
  add_field(Value, FieldDef, false=_IsOneof, MsgDefs, Record) ->
      %% FIXME: what about bytes?? "For numeric types and strings, if
      %% the same value appears multiple times, the parser accepts the
      %% last value it sees." But what about bytes?
  