What's the story behind `let` becoming the new `var`? Seems odd to me to change the short hand for "variable" to `let`.
`let` in function scope is the same as `var`, in block scope it's narrow, it's basically the thing you want. `var` couldn't change, though, it would have broken existing code - hence `let`/