anchor.diff:  -define(CAPABILITIES, [async_fold]).
   
   -record(state, {ref :: reference(),
  -                link_file :: string(),
  -                data_file :: string(),
  +                data_dir :: string(),
                   opts :: [{atom(), term()}],
  +                partition :: integer(),
                   root :: string(),
                   async_folds :: boolean()}).
   
  
positive.code:                 [{atom(), term()}],
                  state()) -> {ok, term()} | {async, fun()} | {error, term()}.
  fold_keys(FoldKeysFun, Acc, Opts, #state{opts=BitcaskOpts,
                                           data_file=DataFile,
                                           root=DataRoot,
                                           async_folds=true}) ->
      Bucket =  proplists:get_value(bucket, Opts),
  
negative.code:                    [],
                     state()) -> {ok, any()} | {async, fun()} | {error, term()}.
  fold_buckets(FoldBucketsFun, Acc, _Opts, #state{opts=BitcaskOpts,
                                                  data_dir=DataFile,
                                                  root=DataRoot,
                                                  async_folds=true}) ->
      FoldFun = fold_buckets_fun(FoldBucketsFun),
  