lean on Polygon.clean, move corner generation out