pub fn integrate<N: ComplexField + FromPrimitive + Copy, F: FnMut(N::RealField) -> N>( left: N::RealField, right: N::RealField, f: F, tol: N::RealField, ) -> Result<N, String>where <N as ComplexField>::RealField: FromPrimitive + Copy,