anchor.diff:  
   delete(State, BKey) -> 
       gen_server:call(State, {delete, BKey}).
  +
  +drop(State) ->
  +    gen_server:call(State, drop).
  +
  +is_empty(State) ->
  +    gen_server:call(State, is_empty).
  +
  +fold(State, Fun0, Acc) ->
  +    gen_server:call(State, {fold, Fun0, Acc}).
   
   stop(State) -> 
       gen_server:call(State, stop).
  
positive.code: handle_call(list, _From, State) ->
      % Fold through the gb_trees, gathering keys...
      F = fun(Bucket, Tree, Acc) ->
          io:format("Bucket: ~p~n", [Bucket]),
          io:format("Tree: ~p~n", [Tree]),
          io:format("Acc: ~p~n", [Acc]),
  
          Keys = [{Bucket, Key} || Key <- gb_trees:keys(Tree)],
          Acc ++ Keys        
  
negative.code: %% Private Functions
  %%
  
  do_fold(State=#state{obj_tree=_OT}, Keys, Fun0, Acc) ->
      Objs = [element(2, obj_find(B, K, State)) || {B,K} <- Keys],
      Fun = fun(E, AccIn) ->
                    Fun0({E#entry.bucket, E#entry.key}, E#entry.value, AccIn)
            end,
      lists:foldl(Fun, Acc, Objs).
      
  % Lookup the #entry record specified by Bucket/Key.    
  % Returns {value, Entry} or none.
  obj_find(Bucket, Key, State) -> 
  