anchor.diff:  -spec encode_varint(I :: integer(), Acc :: list()) ->
   			   binary().
   encode_varint(I, Acc) when I =< 16#7f ->
  -    iolist_to_binary(lists:reverse([I | Acc]));
  +    lists:reverse([I | Acc]);
   encode_varint(I, Acc) ->
       Last_Seven_Bits = (I - ((I bsr 7) bsl 7)),
       First_X_Bits = (I bsr 7),
  
positive.code: -spec encode(FieldID :: non_neg_integer(),
  	     Value :: any(),
  	     Type :: field_type()) -> 
  		    binary().
  encode(FieldID, Value, Type) ->
      iolist_to_binary(encode_internal(FieldID, Value, Type)).
  
  %%--------------------------------------------------------------------
  %% @doc Encode an list of Erlang data structure into a Protocol Buffers values.
  
negative.code: encode_packed(_FieldID, [], _Type) ->
      <<>>;
  encode_packed(FieldID, Values, Type) ->
      PackedValues = encode_packed_internal(Values,Type,[]),
      Size = encode_varint(iolist_size(PackedValues)),
      [encode_field_tag(FieldID, ?TYPE_STRING),Size,PackedValues].
      
  %% @hidden
  -spec encode_internal(FieldID :: non_neg_integer(), 
  