anchor.diff:  key_getter_loop(invalid_iterator,_,Acc) ->
     Acc;
   key_getter_loop(K,Iter,Acc) ->
  -  key_getter_loop(lvl_mv_iter(Iter,prefetch),Iter,[K|Acc]).
  +  key_getter_loop(lvl_mv_iter(Iter,prefetch),Iter,[pack_key(K)|Acc]).
   
   update_counter(Lvl,Key,Incr) ->
     case lvl_get(Lvl,Key) of
  
positive.code: lvl_close_iter(Iter) ->
    eleveldb:iterator_close(Iter).
  
  lvl_mv_iter(Iter,Where) ->
    case eleveldb:iterator_move(Iter,Where) of
      {ok,Key,Val}             -> {Key,Val};
      {ok,Key}                 -> Key;
      {error,invalid_iterator} -> invalid_iterator;
      {error,Err}              -> throw({500,{iter_error,Err}})
    end.
  
  lvl_get(Lvl,Key) ->
    case eleveldb:get(Lvl#lvl.handle,Key,[]) of
      {ok,V}      -> unpack_val(V);
      not_found   -> not_found;
      {error,Err} -> throw({500,{get_error,Err}})
    end.
  
  lvl_put(Lvl,Key,Val) ->
    case eleveldb:put(Lvl#lvl.handle,Key,Val,[]) of
      ok          -> Val;
      {error,Err} -> throw({500,{put_error,Err}})
    end.
  
  lvl_delete(Lvl,Key) ->
    case eleveldb:delete(Lvl#lvl.handle,Key,[]) of
      ok          -> true;
      {error,Err} -> throw({500,{delete_error,Err}})
    end.
  
negative.code:     #lvl{}    -> false
    end.
  
  delete_tab(S,Tab) ->
    case get_lvl(S,Tab) of
      undefined ->
        false;
      Lvl ->
        get_rid_of(Lvl,S#state.keep_db),
        delete_lvl(S,Lvl),
        true
    end.
  
  get_rid_of(Lvl,false) -> lvl_destroy(Lvl);
  get_rid_of(Lvl,true)  -> lvl_close(Lvl).
  
  siz(S) ->
    case fold_lvl(S,fun(Lvl,O) -> [{tab_name(Lvl),tab_size(Lvl)}|O] end) of
      [] -> [];
      Tabs -> {Tabs}
    end.
  
  tab_name(Lvl) -> list_to_binary(Lvl#lvl.name).
  
  tab_size(Lvl) -> length(key_getter(Lvl)).
  
  key_getter(Lvl) ->
    Iter = lvl_iter(Lvl,keys_only),
  