fn cross_product<T>(a: [T; 3], b: [T; 3]) -> [T; 3]where T: Copy + Mul<T, Output = T> + Sub<T, Output = T>,