anchor.diff:                 rets_client:get(localhost,tibbe,'a')),
     ?assertEqual({404,"multiple_hits"},
                  rets_client:get(localhost,tibbe,'a/_/_')),
  -  ?assertEqual({200,["a/2/x","a/1/x"]},
  +  ?assertEqual({200,[{"a/1/x","primo"},{"a/2/x","segundo"}]},
                  rets_client:get(localhost,tibbe,'a/_/_',multi)),
     ?assertEqual({404,"no_such_key"},
                  rets_client:get(localhost,tibbe,'b/_/_',multi)).
  
positive.code:   ets:insert(Tab,{Key,Beg}),
    Beg.
  
  %% key for inserts/deletes
  ikey(L) ->
    list_to_tuple([ielem(E) || E <- L]).
  
  ielem("_") -> throw({404,key_has_underscore});
  ielem(E)   -> l2b(E).
  
  %% key for lookups
  lkey(L) ->
    list_to_tuple([lelem(E) || E <- L]).
  
  lelem("_") -> '_';
  lelem(E)   -> l2b(E).
  
  %% exporting keys
  elems_to_binary(T) ->
    l2b(join(tuple_to_list(T),<<"/">>)).
  
  join([E],_) -> [E];
  join([E|R],D) -> [E,D|join(R,D)].
  
  %% importing keys
  binary_to_elems(B) ->
    string:tokens(binary_to_list(B),"/").
  
  l2b(L) ->
    list_to_binary(L).
  
  %% table names
  tab(L) ->
  
negative.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),key_e2i(i,Key),1);
  ets({reset,Tab,Key})     -> reset_counter(tab(Tab),key_e2i(i,Key),0);
  ets({next,Tab,Key})      -> next(tab(Tab),key_e2i(i,Key));
  ets({prev,Tab,Key})      -> prev(tab(Tab),key_e2i(i,Key));
  ets({multi,Tab,Key})     -> getter(multi,tab(Tab),key_e2i(l,Key));
  ets({single,Tab,Key})    -> getter(single,tab(Tab),key_e2i(l,Key));
  ets({delete,Tab,Key})    -> ets:delete(tab(Tab),key_e2i(i,Key)).
  
  multi_inserter(Tab,{KVs}) ->
    Ops = [{mk_key(K),V} || {K,V} <- KVs],
    ets:insert_new(Tab,Ops).
  
  mk_key(K) ->
    key_e2i(i,string:tokens(binary_to_list(K),"/")).
  
  inserter(Tab,{Ks,V}) ->
    K = key_e2i(i,Ks),
    case ets:insert_new(Tab,{K,V}) of
      false-> throw({409,{exists,Tab,K}});
      true -> true
  