anchor.diff:          Elems ->
               PackedFields = encode_packed_2(Elems, Type, MsgDefs, <<>>),
               <<(encode_fnum_type(FNum, bytes))/binary,
  -              (encode_varint(size(PackedFields)))/binary,
  +              (encode_varint(byte_size(PackedFields)))/binary,
                 PackedFields/binary>>
       end.
   
  
positive.code:             <<Value:64/float-little>>;
          string ->
              Utf8 = unicode:characters_to_binary(Value),
              <<(encode_varint(size(Utf8)))/binary, Utf8/binary>>;
          bytes ->
              <<(encode_varint(size(Value)))/binary, Value/binary>>;
          {msg,_MsgName} ->
              SubMsg = encode_msg(Value, MsgDefs),
              <<(encode_varint(size(SubMsg)))/binary, SubMsg/binary>>;
          fixed32 ->
              <<Value:32/little>>;
          sfixed32 ->
  
negative.code:     <<Bytes:Len/binary, Rest2/binary>> = Rest,
      {decode_packed_aux(Bytes, FieldType, MsgDefs, Seq0), Rest2}.
  
  decode_packed_aux(Bytes, FieldType, MsgDefs, Acc) when byte_size(Bytes) > 0 ->
      {NewValue, Rest} = decode_type(FieldType, Bytes, MsgDefs),
      decode_packed_aux(Rest, FieldType, MsgDefs, [NewValue | Acc]);
  decode_packed_aux(<<>>, _FieldType, _MsgDefs, Acc) ->
  