anchor.diff:            [Sender,
              FilterFun,
              ets:select(State#state.table,
  -                      [{{{b(I), b(F), b(T)}, '$1'}, [], ['$1']}
  +                      [{{{b(I), b(F), b(T)}, '$1', '_'}, [], ['$1']}
                          || {term, {I, F, T}, _P} <- IFTList],
                         ?STREAM_SIZE)]),
       noreply.
  
positive.code: stop(State) ->
      maybe_delete(State).
  
  index_if_newer(Index, Field, Term, DocId, Props, _KeyClock, State) ->
      multi_index([{Index, Field, Term, DocId, Props}], State),
      noreply.
  %%% TODO: why can't I {reply, ok} here? (cargo-cult raptor_backend)
  
  
  multi_index(IFTVPList, State) ->
      %% TODO: look for timestamp before clobbering
      ets:insert(State#state.table,
                 [ {{b(I), b(F), b(T)}, {V, P}}
                   || {I, F, T, V, P} <- IFTVPList ]),
      {reply, {indexed, node()}, State}.
  %%% TODO: why can't I {reply, ok} here? (cargo-cult raptor_backend)
  
  
  delete_entry(Index, Field, Term, DocId, State) ->
      ets:match_delete(State#state.table,
                       {{b(Index), b(Field), b(Term)}, {DocId, '_'}}),
      noreply.
  %%% TODO: why can't I {reply, ok} here? (cargo-cult raptor_backend)
  
  info(Index, Field, Term, Sender, State) ->
      Count = ets:select_count(State#state.table,
                               [{{{b(Index), b(Field), b(Term)}, '_'},
                                 [],[true]}]),
      riak_search_backend:info_response(Sender, [{Term, node(), Count}]),
      noreply.
  
negative.code:       fun() ->
                R = [{T, node(),
                      ets:select_count(State#state.table,
                                       [{{{b(Index), b(Field), T}, '_', '_'},
                                         [], [true]}])}
                     || T <- Terms],
                riak_search_backend:info_response(Sender, R)
  