You are building a small scheduling library.
Across the interview, you will fix interval-overlap logic, find the earliest
available start time for a new meeting, keep bookings sorted as they are added,
and finally implement an atomic reservation API for concurrent callers.
The project already contains an interval helper used throughout the scheduler.
It currently treats back-to-back meetings as overlapping, which blocks
perfectly valid bookings such as `[9:00, 9:30)` followed by `[9:30, 10:00)`.
Fix the overlap helper without changing its public interface.
test_touching_intervals_do_not_overlap
test_nested_intervals_overlap
test_partial_overlap_is_detected