The compiler could still reason that for each poss...
# codereview
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.