I realized I was trying to implement my improvements before I’d even finished duplicating the original functionality, so for the moment, I’m removing the following two conditions
case m2.x <= m1cord[2] && m2cord[1] > m1cord[5]: case m2.x <= m1cord[2] && m2cord[5] < m1cord[1]:
and replacing them with with the single case:
case m2.x <= m1cord[2]
It’s not really pretty, but it’s currently what NeatTools does, so there you are.