anchor.diff:      {KeyCount, Status} = bitcask:status(Ref),
       [{key_count, KeyCount}, {status, Status}].
   
  +%% @doc Get the size of the bitcask backend (in number of keys)
  +-spec data_size(state()) -> undefined | {non_neg_integer(), objects}.
  +data_size(State) ->
  +    Status = status(State),
  +    case proplists:get_value(key_count, Status) of
  +        undefined -> undefined;
  +        KeyCount -> {KeyCount, objects}
  +    end.
   
   %% @doc Register an asynchronous callback
   -spec callback(reference(), any(), state()) -> {ok, state()}.
  
positive.code: 
  -define(MERGE_CHECK_INTERVAL, timer:minutes(3)).
  -define(API_VERSION, 1).
  -define(CAPABILITIES, [async_fold]).
  
  -record(state, {ref :: reference(),
                  data_dir :: string(),
  
negative.code:          status/1,
           callback/3]).
  
  -export([data_size/1]).
  
  %% Helper API
  -export([key_counts/0,
           key_counts/1]).
  