mat4
pub fn rotate<'out, T>( out: &'out mut [T; 16], a: &[T; 16], x: &T, y: &T, z: &T) -> &'out mut [T; 16] where T: Clone + Float + Add<T, Output = T> + Sub<T, Output = T>, &'a T: Mul<&'b T, Output = T>,