anchor.diff:      ?TEST_DB:close(DB4),
       true.
   
  --spec prop_get_chunk3(Keys::[?RT:key()], BeginBr::intervals:left_bracket(), Begin::?RT:key(),
  -                     End::?RT:key(), EndBr::intervals:right_bracket(), ChunkSize::pos_integer()) -> true.
  -prop_get_chunk3(Keys2, BeginBr, Begin, End, EndBr, ChunkSize) ->
  -    Interval = intervals:new(BeginBr, Begin, End, EndBr),
  +-spec prop_get_chunk3(Keys::[?RT:key()], Interval::intervals:interval(), ChunkSize::pos_integer() | all) -> true.
  +prop_get_chunk3(Keys2, Interval_, ChunkSize) ->
  +    Interval = intervals:normalize(Interval_),
       case not intervals:is_empty(Interval) of
           true ->
               Keys = lists:usort(Keys2),
  
positive.code:             {Next, Chunk} = ?TEST_DB:get_chunk(DB2, Interval, ChunkSize),
              ?TEST_DB:close(DB2),
              ?equals(lists:usort(Chunk), lists:sort(Chunk)), % check for duplicates
              ExpectedChunkSize = erlang:min(count_keys_in_range(Keys, Interval),
                                           ChunkSize),
              case ExpectedChunkSize =/= length(Chunk) of
                  true ->
                      ?ct_fail("chunk has wrong size ~.0p ~.0p ~.0p, expected size: ~.0p",
  
negative.code:         _ -> true
      end.
  
  -spec prop_delete_chunk3(Keys::[?RT:key()], Interval::intervals:interval(), ChunkSize::pos_integer() | all) -> true.
  prop_delete_chunk3(Keys2, Interval_, ChunkSize) ->
      Interval = intervals:normalize(Interval_),
      case not intervals:is_empty(Interval) of
          true ->
              Keys = lists:usort(Keys2),
  