anchor.diff:  %%   "all keys are less than our desired upper bound".
   %%   Select's only function is to throw away the keys that have been
   %%   deleted (i.e. that have the delete sentinal stored as their value).
  -list(#state{table=Table}) ->
  -    accum_keys(Table,
  -               osmos:select_range(Table,
  -                                  fun(_) -> false end,
  -                                  fun(_) -> true end,
  -                                  fun(_,V) -> V /= <<>> end,
  -                                  ?SELECT_CHUNK),
  -               []).
  -
  +accum(Table, Fun) ->
  +    accum2(Table, Fun,
  +           osmos:select_range(Table,
  +                              fun(_) -> false end,
  +                              fun(_) -> true end,
  +                              fun(_,V) -> V /= <<>> end,
  +                              ?SELECT_CHUNK),
  +           []).
  +                          
   %% simple accumulator to exhaust select_range's continuation should
   %% there be more than SELECT_CHUNK keys to return
  -accum_keys(_, {ok, [], _}, Acc) -> lists:append(Acc);
  -accum_keys(_, {error, _}, Acc)  -> lists:append(Acc);
  -accum_keys(Table, {ok, NewList, Continue}, Acc) ->
  -    accum_keys(Table,
  -               osmos:select_continue(Table, Continue, ?SELECT_CHUNK),
  -               [[ K || {K,_} <- NewList]|Acc]).
  +accum2(_, _, {ok, [], _}, Acc) -> lists:append(Acc);
  +accum2(_, _, {error, _}, Acc)  -> lists:append(Acc);
  +accum2(Table, Fun, {ok, NewList, Continue}, Acc) ->
  +    accum2(Table, Fun,
  +           osmos:select_continue(Table, Continue, ?SELECT_CHUNK),
  +           [[ A || {true, A} <- [ Fun(K,V) || {K,V} <- NewList]]|Acc]).
  
positive.code: -define(SELECT_CHUNK, 1000).
  
  %% list(state()) -> [Key :: binary()]
  %% Explanation of osmos:select_range params:
  %%   The three functions are, in order, LessLo, LessHi, and Select.
  %%   We are trying to select *all* keys, not a limited range, thus,
  
negative.code: %%    under riak_osmos_backend_root.
  -module(riak_osmos_backend).
  
  -export([start/1,stop/1,get/2,put/4,list/1,list_bucket/2,delete/2]).
  -record(state, {table}).
  
  %% @spec start(Partition :: integer()) ->
  