anchor.diff:  %% @doc Deletes the tuple saved under Key and returns the new DB.
   %%      If such a tuple does not exists nothing is changed.
   -spec delete(DB::db(), Key::key()) -> db().
  -delete({DB, _FileName} = State, Key) ->
  +delete({DB, _DBName} = State, Key) ->
       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.
  +get_name({_DB, DBName}) ->
  +    DBName.
   
   %% @doc Returns the current load (i.e. number of stored tuples) of the DB.
   -spec get_load(DB::db()) -> non_neg_integer().
  -get_load({DB, _FileName}) ->
  +get_load({DB, _DBName}) ->
       %% TODO: not really efficient (maybe store the load in the DB?)
       toke_drv:fold(fun (_K, _V, Load) -> Load + 1 end, 0, DB).
   
  
positive.code: %%          data is to be retrieved.
  -spec foldl_helper(DB::db(), Fun::fun((Key::key(), AccIn::A) -> AccOut::A), Acc0::A,
                                 Intervall::db_backend_beh:interval(), MaxNum::integer()) -> Acc1::A.
  foldl_helper({DB, _FileName}, Fun, Acc, Interval, MaxNum) ->
      Keys = get_all_keys(DB, Interval, MaxNum),
      lists:foldr(Fun, Acc, Keys).
  
  
negative.code: %% @doc Saves arbitrary tuple Entry in DB DBName and returns the new DB.
  %%      The key is expected to be the first element of Entry.
  -spec put(DB::db(), Entry::entry()) -> db().
  put({DB, _DBName} = State, Entry) ->
      toke_drv:insert(DB, ?IN(element(1, Entry)), ?IN(Entry)),
      State.
  
  %% @doc Returns the entry that corresponds to Key or {} if no such tuple exists.
  -spec get(DB::db(), Key::key()) -> entry() | {}.
  get({DB, _DBName}, Key) ->
      case toke_drv:get(DB, ?IN(Key)) of
          not_found -> {};
          Entry -> ?OUT(Entry)
  