anchor.diff:      %% TODO: not really efficient (maybe store the load in the DB?)
       toke_drv:fold(fun (_K, _V, Load) -> Load + 1 end, 0, DB).
   
  -%% @doc Is equivalent to ets:foldl(Fun, Acc0, DB).
  +%% @doc Equivalent to toke_drv:fold(Fun, Acc0, DB).
  +%%      Returns a potentially larger-than-memory dataset. Use with care.
   -spec foldl(DB::db(), Fun::fun((entry(), AccIn::A) -> AccOut::A), Acc0::A) -> Acc1::A.
   foldl({DB, _FileName}, Fun, Acc) ->
       Data = toke_drv:fold(fun(_Key, Entry, AccIn) ->
                                    [?OUT(Entry) | AccIn]
                            end, [], DB),
  +    %% HINT
  +    %% Fun can only be applied in a second pass. It could do a delete (or other
  +    %% write op) and toke can not handle writes whiles folding.
  +    %% It seems like toke_drv:fold is acting as foldr would in repect to the
  +    %% order of terms. So accumulating reverses it and we have the correct term
  +    %% order.
       lists:foldl(Fun, Acc, Data).
   
  -%% @doc Is equivalent to foldl(DB, Fun, Acc0, Interval, get_load(DB)).
  +%% @equiv foldl(DB, Fun, Acc0, Interval, get_load(DB))
  +%% @doc   Returns a potentially larger-than-memory dataset. Use with care.
   -spec foldl(DB::db(), Fun::fun((entry(), AccIn::A) -> AccOut::A), Acc0::A,
                                  Interval::db_backend_beh:interval()) -> Acc1::A.
   foldl({DB, _FileName}, Fun, Acc, Interval) ->
  
positive.code:                                          AccIn
                                   end
                           end, [], DB),
      lists:foldr(Fun, Acc, Data).
  
  %% @doc foldr iterates over DB and applies Fun(Entry, AccIn) to every element
  %%      encountered in Interval. On the first call AccIn == Acc0. The iteration
  %%      stops as soon as MaxNum elements have been encountered.
  -spec foldr(DB::db(), Fun::fun((Entry::entry(), AccIn::A) -> AccOut::A), Acc0::A,
                                 Intervall::db_backend_beh:interval(), MaxNum::non_neg_integer()) -> Acc1::A.
  foldr({DB, _FileName}, Fun, Acc, Interval, MaxNum) ->
  
negative.code:     toke_drv:delete(DB, ?IN(Key)),
      State.
  
  %% @doc Returns the name of the DB specified in @see new/1.
  -spec get_name(DB::db()) -> nonempty_string().
  get_name({_DB, FileName}) ->
      FileName.
  