pub fn rotate_z<T>(rad: T) -> Mat4<T>where
    T: HasConstants + Default + Copy + HasTrig + Neg<Output = T>,