pub fn central_hessian_vec_prod<const N: usize, F>( f: &'_ dyn Fn(&[F; N]) -> Result<[F; N], Error>, ) -> impl Fn(&[F; N], &[F; N]) -> Result<[F; N], Error> + '_where F: Float + FromPrimitive,