True of this range overlaps with other.
other
bool overlaps(Range other) { return start < other.end && end > other.start; }