anchor.diff:  is_in({element, Key}, OtherKey) -> Key ?EQ OtherKey;
   is_in(all, _Key) -> true;
   is_in({interval, '(', L, R, ')'}, Key) -> Key > L andalso Key < R;
  -is_in({interval, '(', L, R, ']'}, Key) -> Key > L andalso ((Key < R) or (Key ?EQ R));
  -is_in({interval, '[', L, R, ')'}, Key) -> ((Key > L) or (Key ?EQ L)) andalso Key < R;
  -is_in({interval, '[', L, R, ']'}, Key) -> ((Key > L) or (Key ?EQ L)) andalso ((Key < R) or (Key ?EQ R)).
  +is_in({interval, '(', L, R, ']'}, Key) -> Key > L andalso ((Key < R) orelse (Key ?EQ R));
  +is_in({interval, '[', L, R, ')'}, Key) -> ((Key > L) orelse (Key ?EQ L)) andalso Key < R;
  +is_in({interval, '[', L, R, ']'}, Key) -> ((Key > L) orelse (Key ?EQ L)) andalso ((Key < R) orelse (Key ?EQ R)).
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -spec prop_put([backend_beh:entry()]) -> true.
  prop_put(Data) ->
      {DB1, ScrubedData} =
                           write_scrubed_to_db(?TEST_DB:new(randoms:getRandomString()),
                                               Data),
      check_db(DB1, ScrubedData, "check_db_put1"),
      ?TEST_DB:close(DB1),
      true.
  
  
negative.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -spec prop_delete([backend_beh:entry()], [backend_beh:key()]) -> true.
  prop_delete(Data, ToDelete) ->
      {DB1, ScrubbedData} =
          write_scrubbed_to_db(?TEST_DB:new(randoms:getRandomString()), Data),
      DB2 = lists:foldl(
              fun(Key, DBAcc) ->
                  ?TEST_DB:delete(DBAcc, Key)
              end, DB1, ToDelete),
      ExpData = [El || El <- ScrubbedData,
                       not lists:any(fun(Key) -> element(1, El) ?EQ Key end,
                                     ToDelete)],
      check_db(DB2, ExpData, "check_db_delete"),
      ?TEST_DB:close(DB2),
      true.
  