uhh, intersectSegments works kind of alright now, but arcs are going to need some more thinking out to get right (ArcSegment p1 p2 a where a is negative....??)