anchor.diff:  escape_value([H|T], Acc) ->
       escape_value(T, [H|Acc]).
   
  -encode_data_for_riak(Data) ->
  +riak_search_encode_key(K) ->
  +    list_to_binary(atom_to_list(K)).
  +
  +riak_search_encode_value(V) when is_list(V) ->
  +    list_to_binary(V);
  +riak_search_encode_value(V) ->
  +    V.
  +
  +riak_search_decode_data(Data) ->
       lists:map(fun({K, V}) ->
  -        BinaryKey = list_to_binary(atom_to_list(K)),
  -        ConvertedValue = try
  -                           list_to_binary(V)
  -                         catch
  -                           error:_ -> V
  -                         end,
  -        {BinaryKey, ConvertedValue}
  +        DecodedKey = riak_search_decode_key(K),
  +        DecodedValue = riak_search_decode_value(V),
  +        {DecodedKey, DecodedValue}
       end, Data).
   
  -decode_data_from_riak(Data, AttributeTypes) ->
  -    lists:map(fun({K, V}) ->
  -        AtomKey = list_to_atom(binary_to_list(K)),
  -        AttributeType = proplists:get_value(AtomKey, AttributeTypes),
  -        ConvertedValue = case AttributeType of
  -            string -> binary_to_list(V);
  -            _ -> V
  -        end,
  -        {AtomKey, boss_record_lib:convert_value_to_type(ConvertedValue, AttributeType)}
  -    end, Data).
  +riak_search_decode_key(K) ->
  +    list_to_atom(binary_to_list(K)).
  +
  +riak_search_decode_value(V) when is_binary(V) ->
  +    binary_to_list(V);
  +riak_search_decode_value(V) ->
  +    V.
  
positive.code:     BinKey = list_to_binary(Key),
      ok = case riakc_pb_socket:get(Conn, Bucket, BinKey) of
          {ok, O} ->
              O2 = riakc_obj:update_value(O, ConvertedPropList),
              riakc_pb_socket:put(Conn, O2);
          {error, _} ->
              O = riakc_obj:new(Bucket, BinKey, ConvertedPropList, <<"application/x-erlang-term">>),
              riakc_pb_socket:put(Conn, O)
      end,
      {ok, Record:set(id, lists:concat([Type, "-", Key]))}.
  
negative.code: save_record(Conn, Record) ->
      Type = element(1, Record),
      Bucket = list_to_binary(type_to_bucket_name(Type)),
      PropList = [{riak_search_encode_key(K), riak_search_encode_value(V)} || {K, V} <- Record:attributes(), K =/= id],
      Key = case Record:id() of
          id ->
              % TODO: The next release of Riak will support server-side ID
  