quat
pub fn rotate<'a, T: Copy + Num>( out: &'a mut [T; 4], a: &[T; 4], x: T, y: T, z: T) -> &'a mut [T; 4]