anchor.diff:  encode_dict_items([]) ->
       [];
   encode_dict_items([{I1, I2} | Rest]) ->
  -    {ok, I} = encode(I1),
  -    {ok, J} = encode(I2),
  +    I = encode(I1),
  +    J = encode(I2),
       [I, J | encode_dict_items(Rest)].
   
   decode_b([]) ->
  
positive.code: 
  decode_integer(String) ->
      {IntegerPart, RestPart} = lists:splitwith(charPred($e), String),
      case string:to_integer(IntegerPart) of
  	{Int, _} ->
  	    {{integer, Int}, tl(RestPart)}
      end.
  
  decode_list(String) ->
      {ItemTree, Rest} = decode_list_items(String, []),
      {{list, lists:reverse(ItemTree)}, Rest}.
  
  decode_list_items([], Accum) -> {Accum, []};
  decode_list_items(Items, Accum) ->
      case decode_b(Items) of
  	{end_of_data, Rest} ->
  	    {Accum, Rest};
  	{I, Rest} -> decode_list_items(Rest, [I | Accum])
      end.
  
  
negative.code: %%--------------------------------------------------------------------
  encode(BString) ->
      case BString of
  	{string, String} -> encode_string(String);
  	{integer, Integer} -> encode_integer(Integer);
  	{list, Items} -> encode_list([encode(I) || I <- Items]);
  	{dict, Items} -> encode_dict(encode_dict_items(Items))
      end.
  
  %%--------------------------------------------------------------------
  