anchor.diff:  
   save_docs(Docs, #state{name = TableName,
                          child_module = ChildModule,
  -                       child_state = ChildState} = State) ->
  +                       child_state = ChildState,
  +                       revisions = Revisions} = State) ->
       ok = dets:insert(TableName, Docs),
  +    true = ets:insert(Revisions, [{Doc#doc.id, Doc#doc.rev} || Doc <- Docs]),
       lists:foreach(fun (#doc{id = Id, deleted = true}) ->
                             _ = mru_cache:delete(TableName, Id);
                         (#doc{id = Id, deleted = false, value = Value}) ->
  
positive.code: -record(state, {child_module :: atom(),
                  child_state :: term(),
                  path :: string(),
                  name :: atom()}).
  
  -record(doc, {id :: term(),
                rev :: term(),
  
negative.code:            child_module = ChildModule,
             child_state = ChildState}.
  
  init_after_ack(State = #state{name = TableName}) ->
      ok = open(State),
      Revisions = ets:new(ok, [set, private]),
      MatchSpec = [{#doc{id = '$1', rev = '$2', _ = '_'}, [], [{{'$1', '$2'}}]}],
  
      Start = os:timestamp(),
      select_from_dets_locked(TableName, MatchSpec, 100,
                              fun (Selection) ->
                                      ets:insert_new(Revisions, Selection)
                              end),
      ?log_debug("Loading ~p items, ~p words took ~pms",
                 [ets:info(Revisions, size),
                  ets:info(Revisions, memory),
                  timer:now_diff(os:timestamp(), Start) div 1000]),
  
      State#state{revisions = Revisions}.
  
  open(#state{path = Path, name = TableName}) ->
      ?log_debug("Opening file ~p", [Path]),
      {ok, TableName} =
          dets:open_file(TableName,
                         [{type, set},
  