anchor.diff:  %%      sized groups
   get_middle_key(DB) ->
       case (Length = ?ETS:info(DB, size)) < 3 of
  -        true ->
  -            failed;
  -        false ->
  -            {ok, nth_key(DB, Length div 2 - 1)}
  +        true -> failed;
  +        false -> {ok, nth_key(DB, Length div 2 - 1)}
       end.
   
   nth_key(DB, N) ->
  
positive.code: -spec(get_range/3 :: (db(), key(), key()) -> [{key(), value()}]).
  get_range(DB, From, To) ->
      F = fun ({Key, {Value, _, _, _}}, Data) ->
                  case util:is_between(From, Key, To) andalso Value =/= empty_val of
                      true ->
                          [{Key, Value} | Data];
                      false ->
                          Data
                  end
          end,
      ?ETS:foldl(F, [], DB).
  
negative.code:     case ?ETS:lookup(DB, Key) of
          [{Key, {_Value, WriteLock, ReadLock, Version}}] ->
              {DB, {WriteLock, ReadLock, Version}};
          [] -> {DB, failed}
      end.
  
  %% @doc reads the version and value of a key
  