anchor.diff:  size_getter(Tabs) -> {[{T,ets:info(T,size)} || T <- Tabs]}.
   
   key_getter(Tab) ->
  -  ets:foldr(fun({K,_},A) -> [elems_to_binary(K)|A] end,[],Tab).
  +  ets:foldr(fun({K,_},A) -> [key_i2e(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}]};
  +    [{K,V}] -> {[{key_i2e(K),V}]};
       []      -> throw({409,end_of_table})
     end.
   
  -getter(Tab,Key) ->
  -  case ets:select(Tab,[{{Key,'_'},[],['$_']}]) of
  -    [{_,Res}] -> Res;
  -    []        -> throw({404,no_such_key});
  +getter(single,Tab,Key) ->
  +  case getter(multi,Tab,Key) of
  +    {[{_,V}]} -> V;
       _         -> throw({404,multiple_hits})
  -  end.
  -
  -multi_getter(Tab,Key) ->
  +  end;
  +getter(multi,Tab,Key) ->
     case ets:select(Tab,[{{Key,'_'},[],['$_']}]) of
       []   -> throw({404,no_such_key});
  -    Hits -> lists:foldl(fun({K,_},A) -> [elems_to_binary(K)|A] end,[],Hits)
  +    Hits -> {lists:map(fun({K,V}) -> {key_i2e(K),V} end,Hits)}
     end.
   
   update_counter(Tab,Key,Incr) ->
  
positive.code: ets({keys,Tab})          -> key_getter(tab(Tab));
  ets({insert,Tab,K,V})    -> inserter(tab(Tab),{K,V});
  ets({insert,Tab,KVs})    -> multi_inserter(tab(Tab),KVs);
  ets({counter,Tab,Key})   -> update_counter(tab(Tab),ikey(Key),1);
  ets({reset,Tab,Key})     -> reset_counter(tab(Tab),ikey(Key),0);
  ets({next,Tab,Key})      -> next(tab(Tab),ikey(Key));
  ets({prev,Tab,Key})      -> prev(tab(Tab),ikey(Key));
  ets({get,Tab,Key})       -> getter(tab(Tab),lkey(Key));
  ets({multi_get,Tab,Key}) -> multi_getter(tab(Tab),lkey(Key));
  ets({delete,Tab,Key})    -> ets:delete(tab(Tab),ikey(Key)).
  
  multi_inserter(Tab,{KVs}) ->
    ets:insert_new(Tab,[{ikey(binary_to_elems(K)),V} || {K,V} <- KVs]).
  
  inserter(Tab,{Ks,V}) ->
    K = ikey(Ks),
    case ets:insert_new(Tab,{K,V}) of
      false-> throw({409,{exists,Tab,K}});
      true -> true
  
negative.code:     {"PUT",   [Tab|Key],["reset"]}   -> je(ets({reset,Tab,Key}));
      {"GET",   []       ,[]}          -> je(ets({sizes,gcall({all,[]})}));
      {"GET",   [Tab]    ,[]}          -> je(ets({keys,Tab}));
      {"GET",   [Tab|Key],[]}          -> je(ets({single,Tab,Key}));
      {"GET",   [Tab|Key],["multi"]}   -> je(ets({multi,Tab,Key}));
      {"GET",   [Tab|Key],["next"]}    -> je(ets({next,Tab,Key}));
      {"GET",   [Tab|Key],["prev"]}    -> je(ets({prev,Tab,Key}));
      {"POST",  [Tab]    ,[]}          -> je(ets({insert,Tab,body(Req)}));
      {"DELETE",[Tab]    ,[]}          -> je(gcall({delete,Tab}));
      {"DELETE",[Tab|Key],[]}          -> je(ets({delete,Tab,Key}));
  