Type unstable function returning a tuple

Yes, preferably, the compiler should just see this. But as for it making sense: Does

getindex(a, Val(3))

make any less sense than

ntuple(i->i^2, Val(3))

?