pub fn resolve_self_intersections<T, R>(
    poly: &mut Polygon<T>,
    rng: &mut R
) -> Result<(), Error> where
    T: PolygonScalar,
    R: Rng + ?Sized