anchor.diff:                      {intervals:empty(), []};
                   FirstKey ->
                       %ct:pal("first key: ~.0p~n", [FirstKey]),
  +                    FirstEntry = get_entry_(DB, FirstKey),
  +                    Chunk0 = case FilterFun(FirstEntry) of
  +                                 true -> [ValueFun(FirstEntry)];
  +                                 _    -> []
  +                             end,
                       {Next, Chunk} =
                           get_chunk_inner(DB, ets:next(ETSDB, FirstKey), FirstKey,
  -                                        Interval, ChunkSize - 1, [get_entry_(DB, FirstKey)]),
  +                                        Interval, FilterFun, ValueFun, ChunkSize - 1, Chunk0),
                       case Next of
                           '$end_of_table' ->
                               {intervals:empty(), Chunk};
  
positive.code: -type db_t() :: {Table::tid() | atom(), SubscrTable::tid() | atom()}.
  
  % TODO: move these functions to the behaviour and implement them in the other DBs!
  -export([get_chunk/3, delete_chunk/3, get_split_key/4]).
  
  % Note: must include db_beh.hrl AFTER the type definitions for erlang < R13B04
  % to work.
  
negative.code:     set_entry_(State, Entry).
  
  %% @doc Removes all values with the given entry's key from the DB.
  delete_entry_(State, Entry) ->
      Key = db_entry:get_key(Entry),
      delete_entry_at_key(State, Key).
  
  delete_entry_at_key(State = {DB, _Subscr}, Key) ->
      ets:delete(DB, Key),
      call_subscribers(State, {delete, Key}),
      State.
  