sub range_overlaps { my ($start_probe, $end_probe, @skip) = @_; my $start_idx = last_index { $_ <= $start_probe } @skip; my $end_idx = last_index { $_ <= $end_probe } @skip; return $start_idx != $end_idx || ($start_idx % 2 == 0); }