anchor.diff:  key_getter(Tab) ->
     ets:foldr(fun({K,_},A) -> [elems_to_binary(K)|A] end,[],Tab).
   
  -next(Tab,Key) ->
  -  ets:lookup(Tab,ets:next(Tab,Key)).
  -
  -prev(Tab,Key) ->
  -  ets:prev(Tab,Key).
  +next(Tab,Key) -> nextprev(next,Tab,Key).
  +prev(Tab,Key) -> nextprev(prev,Tab,Key).
  +
  +nextprev(OP,Tab,Key) ->
  +  case ets:lookup(Tab,ets:OP(Tab,Key)) of
  +    [{K,V}] -> {[{elems_to_binary(K),V}]};
  +    []      -> throw({409,end_of_table})
  +  end.
   
   getter(Tab,Key) ->
     case ets:select(Tab,[{{Key,'_'},[],['$_']}]) of
  
positive.code: gcall(What) ->
    gen_server:call(rets_tables,What).
  
  %% a nif that throws? insanity.
  jd(Term) ->
    try jiffy:decode(Term)
  
negative.code:   try jiffy:encode(Term)
    catch {error,R} -> error({R,Term})
    end.
  
  %%%%%%%%%%
  %% eunit
  