anchor.diff:     {ok, #{tab => Tab}}.
   
   
  +handle_call({touch, DocId, InPathId, Steps}, _, #{tab := Tab} = State) ->
  +   Key = {DocId, InPathId, Steps},
  +   _ = case ets:lookup(Tab, Key) of
  +      [] ->
  +         undefined;
  +      [{_, undefined, _}] ->
  +         undefined;
  +      [{_, _, _}] ->
  +         Now = erlang:system_time(),
  +         ets:update_element(Tab, Key, {3, Now})
  +   end,
  +   {reply, ok, State};
   handle_call({put, DocId, InPathId, Steps, Results}, _, #{tab := Tab} = State) ->
      Key = {DocId, InPathId, Steps},
      Now = erlang:system_time(),
  
positive.code:          _ = erlang:put(Key, Val),
           Val;
        V ->
           gen_server:cast(Server, {touch, DocId, InPathId, Steps}),
           V
     end.
  
  
negative.code:    Reply = ok,
     {reply, Reply, State}.
  
  handle_cast({sweep, Then}, #{tab := Tab} = State) ->
     MS = [{{'$1','$2','$3'},
            [{'<','$3',Then},{'=/=','$3',undefined}],
  