anchor.diff:  
   %% table names
   tab(L) ->
  -  T = list_to_existing_atom(L),
  -  case ets:info(T,size) of
  -    undefined -> throw({404,no_such_table});
  -    _ -> T
  +  try
  +    T = list_to_existing_atom(L),
  +    true = is_integer(ets:info(T,size)),
  +    T
  +  catch
  +    _:_ -> throw({404,no_such_table})
     end.
   
   gcall(What) ->
  
positive.code: true_headers(Req) ->
    [binary_to_list(K) || {K,<<"true">>} <- headers(Req)].
  
  ets({keys,Tab})       -> ets:foldr(fun({K,_},A)->[K|A]end,[],tab(Tab));
  ets({insert,Tab,K,V}) -> inserter(tab(Tab),{ikey(K),V});
  ets({insert,Tab,KVs}) -> multi_inserter(tab(Tab),KVs);
  ets({counter,Tab,Key})-> update_counter(tab(Tab),ikey(Key));
  ets({reset,Tab,Key})  -> ets:insert(tab(Tab),{ikey(Key),0}),"0";
  
negative.code:   ?assertEqual({200,"true"},
                 rets_client:put(localhost,tibbe,ddd,[{a,"A"},{b,b},{c,123.3}])),
    ?assertEqual({200,"AAA"},
                 rets_client:get(localhost,tibbe,'aaa/_/x')),
    ?assertEqual({200,"AAA"},
                 rets_client:get(localhost,tibbe,'_/1/_')),
    ?assertEqual({200,"AAA"},
                 rets_client:get(localhost,tibbe,'aaa/1/x')),
    ?assertEqual({200,bBbB},
                 rets_client:get(localhost,tibbe,bbb)),
    ?assertEqual({200,123.1},
  