anchor.diff:  -export([new/1, new/2, start_link/2, delete/1, delete/2, delete/3,
   	 lookup/2, lookup/3, insert_new/3, insert_new/4,
   	 update/4, update/5, setopts/2, clear/1, clear/2,
  -	 clean/1, clean/2, filter/2, all/0, info/1, info/2]).
  +	 clean/1, clean/2, filter/2, fold/3, all/0, info/1, info/2]).
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
   	 terminate/2, code_change/3]).
  
positive.code:     end.
  
  -spec do_filter(atom(), filter_fun(), pos_integer() | infinity,
  		integer(), non_neg_integer(), any()) -> ok.
  do_filter(_Name, _FilterFun, _LifeTime, _CurrTime, Num, '$end_of_table') ->
      Num;
  do_filter(Name, FilterFun, LifeTime, CurrTime, Num, Key) ->
  
negative.code: -type read_fun() :: fun(() -> {ok, any()} | error).
  -type update_fun() :: fun(() -> ok | any()).
  -type filter_fun() :: fun((any(), {ok, any()} | error) -> boolean()).
  -type fold_fun() :: fun((any(), {ok, any()} | error, any()) -> any()).
  -type state() :: #state{}.
  
  %%%===================================================================
  