TypeScript now supports using ‘let’ and ‘const’ in addition
to ‘var’. These currently require the ES6 output mode, but
we’re are investigating relaxing this restriction in future
versions.
Would be quite nice to be able to use 'let', and just use variable renaming to generate ES5 code with unique names in the case where scopes overlap. I guess it might be coming?