fn add_curve_intersections<S: Scalar>(
curve1: &CubicBezierSegment<S>,
curve2: &CubicBezierSegment<S>,
domain1: &Range<S>,
domain2: &Range<S>,
intersections: &mut ArrayVec<(S, S), 9>,
flip: bool,
recursion_count: u32,
call_count: u32,
orig_curve1: &CubicBezierSegment<S>,
orig_curve2: &CubicBezierSegment<S>,
) -> u32