anchor.diff:  gcall(What) ->
     gen_server:call(rets_tables,What).
   
  +flat(Term) ->
  +  lists:flatten(io_lib:fwrite("~p",[Term])).
  +
   %% a nif that throws? insanity.
   jd(Term) ->
     try jiffy:decode(Term)
  
positive.code:   try jiffy:encode(Term)
    catch {error,R} -> error({R,Term})
    end.
  
  flat(Term) ->
    lists:flatten(io_lib:fwrite("~p",[Term])).
  
  %%%%%%%%%%
  %% eunit
  
negative.code: key_getter(Tab) ->
    ets:foldr(fun({K,_},A) -> [elems_to_binary(K)|A] end,[],Tab).
  
  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
  