The compiler could still reason that for each possible case of T the result is of type T. I.e. for v...
u
The compiler could still reason that for each possible case of T the result is of type T. I.e. for vec2 a vec2 is returned and for vec3 a vec3 is returned.