vec3
pub fn smul<'out, T>( out: &'out mut [T; 3], a: &[T; 3], s: &T) -> &'out mut [T; 3] where &'a T: Mul<&'b T, Output = T>,