No problem. I did write it up a bit longer than usual because this sounded like a corner others would paint themselves into as well and it is not unreasonable at all, given how you do typing in other programming languages that an expression like String $x = something would type the variable $x. I did change the title to make it more googlable (is that even a word?).
I came across this issue while investigating a different problem and just wanted to clarify. first, thanks Henrik Lindberg for the great explanation however i believe the following needs clarifying
Puppet 4.x does not support typing variables.
Type aliases where introduced in puppet 4.4 so i think this should read "Puppet < 4.4.0 does not support typing variables.