anchor.diff:  
   %% @doc Closes and deletes the DB named DBName
   -spec close_and_delete(DB::db()) -> true.
  -close_and_delete({DB, FileName}) ->
  -    close({DB, FileName}),
  +close_and_delete({_DB, FileName} = State) ->
  +    close(State),
       case file:delete(FileName) of
           ok -> ok;
           {error, Reason} ->
  
positive.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, FileName}, Entry) ->
      toke_drv:insert(DB, ?IN(element(1, Entry)), ?IN(Entry)),
      {DB, FileName}.
  
  %% @doc Returns the entry that corresponds to Key or {} if no such tuple exists.
  -spec get(DB::db(), Key::key()) -> entry() | {}.
  
negative.code: -spec new(DBName::nonempty_string()) -> db().
  new(_DBName) ->
      Dir = util:make_filename(atom_to_list(node())),
      FullDir = [config:read(db_directory), "/", Dir],
      _ = case file:make_dir(FullDir) of
          ok -> ok;
          {error, eexist} -> ok;
          {error, Error} -> erlang:exit({db_toke, 'cannot create dir', FullDir, Error})
      end,
      {_Now_Ms, _Now_s, Now_us} = Now = erlang:now(),
      {{Year, Month, Day}, {Hour, Minute, Second}} =
          calendar:now_to_local_time(Now),
      FileBaseName = util:make_filename(
                       io_lib:format("db_~B~B~B-~B~B~B\.~B.tch",
                                     [Year, Month, Day, Hour, Minute, Second, Now_us])),
      FullFileName = lists:flatten([FullDir, "/", FileBaseName]),
      new_db(FullFileName, [read, write, create, truncate]).
  
  