Few versions ago it was introduced the '&' operator for function's arguments to 'force' the compiler to use a reference instead of a copy (this is very important for 'big' variables).
What I mean is that any improvement is welcomed.
All developers want an easy language to code, very efficient and portable, and can be done everything with it.
About this issue as you say in a comment: "when you use a JIT compiler, those checks happen at compile time, so no performance problems would seem to occur at run time". But if the code is not compiled only 'runned' and the variables typed help the code to run faster is great improvement.