anchor.diff:      case ?ETS:lookup(DB, Key) of
           [{Key, {_Value, WriteLock, ReadLock, Version}}] ->
               {DB, {WriteLock, ReadLock, Version}};
  -        [] ->
  -            {DB, failed}
  +        [] -> {DB, failed}
       end.
   
   %% @doc reads the version and value of a key
  
positive.code:     ?ETS:insert(DB, Data),
      DB.
  
  %% @doc returns all keys (and removes them from the db) which belong 
  %%      to a new node with id HisKey
  split_data(DB, MyKey, HisKey) ->
      F = fun (KV = {Key, _}, HisList) ->
                  case util:is_between(HisKey, Key, MyKey) of
                      true ->
                          HisList;
                      false ->
                          [KV | HisList]
                  end
          end,
      HisList = ?ETS:foldl(F, [], DB),
  
negative.code: -spec(get_range/3 :: (db(), key(), key()) -> [{key(), value()}]).
  get_range(DB, From, To) ->
      F = fun ({Key, {Value, _, _, _}}, Data) ->
                  case Value =/= empty_val
                      andalso util:is_between(From, Key, To) of
                      true -> [{Key, Value} | Data];
                      false -> Data
                  end
          end,
      ?ETS:foldl(F, [], DB).
  