anchor.diff:          [{Key, {_Value, false, 0, _Version}}] ->
               ?ETS:delete(DB, Key),
               {DB, ok};
  -        [{Key, _Value}] ->
  -            {DB, locks_set};
  -        [] ->
  -            {DB, undef}
  +        [{Key, _Value}] -> {DB, locks_set};
  +        [] -> {DB, undef}
       end.
   
   %% @doc reads the version of a key
  
positive.code: %% @doc get keys and versions in a range
  get_range_with_version(DB, Interval) ->
      F = fun ({Key, {Value, WriteLock, ReadLock, Version}}, Data) ->
                  case intervals:in(Key, Interval) andalso Value =/= empty_val of
                      true ->
                          [{Key, Value, WriteLock, ReadLock, Version} | Data];
                      false ->
                          Data
                  end
          end,
      ?ETS:foldl(F, [], DB).
  
  get_range_only_with_version(DB, Interval) ->
      F = fun ({Key, {Value, WLock, _, Version}}, Data) ->
                  case WLock == false andalso intervals:in(Key, Interval) andalso Value =/= empty_val of
                      true ->
                          [{Key, Value, Version} | Data];
                      false ->
                          Data
                  end
          end,
      ?ETS:foldl(F, [], DB).
  
negative.code:     Res = case ?ETS:lookup(DB, Key) of
                [{Key, {Value, _WriteLock, _ReadLock, Version}}] ->
                    {ok, Value, Version};
                [] -> {ok, empty_val, -1}
            end,
  %%     Stop = erlang:now(),
  %%     Span = timer:now_diff(Stop, Start),
  