pub fn square_len<T>(a: [T; 2]) -> Twhere T: Copy + Add<Output = T> + Mul<Output = T>,
Computes the square length of a vector.