pub fn mul_matrix<T, const M: usize, const N: usize, Rhs, const P: usize>( matrix: &[[T; N]; M], rhs: &[[Rhs; P]; N] ) -> [[<T as Mul<Rhs>>::Output; P]; M]where T: Mul<Rhs, Output: AddAssign + Zero> + Copy, Rhs: Copy,