anchor.diff:  
   -record(state, {
             default_get = <<>>,
  +          default_size = 0,
  +          key_count = 0,
             op_get = 0,
             op_put = 0,
             op_delete = 0
  
positive.code:                 any(),
                  [{atom(), term()}],
                  state()) -> {ok, term()}.
  fold_keys(_FoldKeysFun, Acc, _Opts, _S) ->
      {ok, Acc}.
  
  %% @doc Fold over all the objects for one or all buckets, yes, sir!
  -spec fold_objects(riak_kv_backend:fold_objects_fun(),
                     any(),
                     [{atom(), term()}],
                     state()) -> {ok, any()}.
  fold_objects(_FoldObjectsFun, Acc, _Opts, _S) ->
      {ok, Acc}.
  
  %% @doc Delete all objects from this backend, yes, sir!
  -spec drop(state()) -> {ok, state()}.
  
negative.code: %% ===================================================================
  %% Internal functions
  %% ===================================================================
  
  get_folder(FoldFun, Acc, KeyCount) ->
      fun() ->
              fold_anything_fun(FoldFun, Acc, KeyCount)
      end.
  
  key_of_integer(Range, State) ->
      {N, S} = random:uniform_s(Range, State),
      Key = integer_to_list(N) ++ ".1000", %% e.g. "10.1000"
      BKey = list_to_binary(Key),          %% e.g. <<"10.1000">>
      {BKey, S}.
  
  value_for_random(VR, Size) ->
      <<VR:(Size*8)>>.
  
  fold_anything_fun(FoldFunc, Acc, KeyCount) ->
      Range = 1000000,
      KeyState = random:seed0(),
      ValueState = random:seed0(),
      all_keys_folder(FoldFunc, Acc, Range, {KeyState, ValueState}, KeyCount).
  
  all_keys_folder(FoldFunc, Acc, _Range, _S, 0) ->
      FoldFunc(undefined, 0, Acc);
  all_keys_folder(FoldFunc, Acc, Range, {KS,VS}, N) ->
      {Key,KSS} = key_of_integer(Range, KS),
      {VR,VSS} = random:uniform_s(255,VS),
      Acc1 = FoldFunc(Key, VR, Acc),
      all_keys_folder(FoldFunc, Acc1, Range, {KSS,VSS}, N-1).
  
  %% @private
  %% Return a function to fold over keys on this backend
  fold_keys_fun(FoldKeysFun, Bucket) ->
      fun(Key, _VR, Acc) when Key /= undefined ->
              FoldKeysFun(Bucket, Key, Acc);
         (_, _, Acc) ->
              Acc
      end.
  
  %% @private
  %% Return a function to fold over keys on this backend
  fold_objects_fun(FoldObjectsFun, Bucket, Size) ->
      fun(Key, VR, Acc) when Key /= undefined ->
              Value = value_for_random(VR, Size),
              FoldObjectsFun(Bucket, Key, Value, Acc);
         (_, _, Acc) ->
              Acc
      end.
  
  %% borrowed from kv get_fsm...
  make_vtag(Now) ->
      <<HashAsNum:128/integer>> = crypto:md5(term_to_binary({node(), Now})),
      riak_core_util:integer_to_list(HashAsNum,62).
  
  get_binsize(<<"yessir.", Rest/binary>>) ->
      get_binsize(Rest, 0);
  