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