···6868 // int.compare(range.0, seen_range.1),
6969 // int.compare(range.1, seen_range.0),
7070 // )
7171+ // btw im refusing to ever do something better than this idc about your sorting and whatever this is the way shut the fuck up i spent three hours on this i will be using it
7172 case
7273 int.compare(range.0, seen_range.0),
7374 int.compare(range.1, seen_range.1),
7475 int.compare(range.0, seen_range.1),
7576 int.compare(range.1, seen_range.0)
7677 {
7878+ // if there's no touching
7779 Gt, Gt, Gt, Gt | Lt, Lt, Lt, Lt -> #(range, seen_ranges)
7878- Eq, Eq, _, _ | Gt, Lt, _, _ | Eq, Lt, _, _ | Gt, Eq, _, _ -> #(
8080+ // if it's inside of the other one
8181+ Gt, Lt, _, _ | Eq, Lt, _, _ | Gt, Eq, _, _ | Eq, Eq, _, _ -> #(
7982 #(0, 0),
8083 seen_ranges,
8184 )
8282- Eq, Gt, _, _ | Lt, Eq, _, _ | Lt, Gt, _, _ -> #(
8585+ // if the other one is inside it
8686+ Lt, Gt, _, _ | Eq, Gt, _, _ | Lt, Eq, _, _ -> #(
8387 range,
8488 set.delete(seen_ranges, seen_range),
8589 )
9090+ // if it's touching on the left side make them touch
8691 Lt, Lt, _, _ -> #(
8792 #(range.0, seen_range.1),
8893 set.delete(seen_ranges, seen_range),
8994 )
9595+ // if it's touching on the right size make them touch
9096 Gt, Gt, _, _ -> #(
9197 #(seen_range.0, range.1),
9298 set.delete(seen_ranges, seen_range),