The basic problem is that polygons can be concave. Concave polygons when clipped can produce multiple polygons. Converting to polylines and back, if polygons are concave, will also produce multiple output polygons. A filter could be written that checks for concave/convex and processes the polygons appropriately (at the expense of performance).
2 Likes