anchor.diff:  
   attempt_string_decode(String) ->
       {Number, Data} = lists:splitwith(charPred($:), String),
  -    ParsedNumber = string:to_integer(Number),
  +    {ParsedNumber, _} = string:to_integer(Number),
       Rest1 = tl(Data),
       {StrData, Rest} = lists:split(ParsedNumber, Rest1),
       {{string, StrData}, Rest}.
  
positive.code:     {empty_string, "Empty String"};
  decode_b([H | Rest]) ->
      case H of
  	'i' ->
  	    decode_integer(Rest);
  	'l' ->
  	    decode_list(Rest);
  	'd' ->
  	    decode_dict(Rest);
  	'e' ->
  	    {end_of_data, Rest};
  	s ->
  	    %% This might fail, and so what ;)
  	    attempt_string_decode([s|Rest])
      end.
  
  charPred(C) ->
  
negative.code: decode_dict_items([], Accum) ->
      {Accum, []};
  decode_dict_items(String, Accum) ->
      case decode_b(String) of
  	{end_of_data, Rest} ->
  	    {Accum, Rest};
  	{Key, Rest1} -> {Value, Rest2} = decode_b(Rest1),
  			decode_list_items(Rest2, [{Key, Value} | Accum])
      end.
  