anchor.diff:  srv_list_bucket(Tree, Bucket) ->
       [ Key || {B, Key} <- gb_trees:keys(Tree), B == Bucket ].
   
  +srv_fold(Tree, Fun0, Acc) ->
  +    Iter0 = gb_trees:iterator(Tree),
  +    srv_fold1(gb_trees:next(Iter0), Fun0, Acc).
  +
  +srv_fold1(none, _Fun0, Acc) ->
  +    Acc;
  +srv_fold1({K,V,Iter}, Fun0, Acc) ->
  +    srv_fold1(gb_trees:next(Iter), Fun0, Fun0(K,V,Acc)).
  +
   
   %%
   %% Test
  
positive.code:                    srv_list_bucket(Tree, Bucket), Ref},
              tree_loop(Tree);
  
          {stop, Pid, Ref} ->
              Pid ! {stop_response, ok, Ref}
      end.
  
negative.code: -module(riak_gb_trees_backend).
  
  -include_lib("eunit/include/eunit.hrl").
  -export([start/2, stop/1,get/2,put/3,list/1,list_bucket/2,delete/2,is_empty/1,fold/3,drop/1]).
  
  % @type state() = term().
  -record(state, {pid}).
  