Ok, thanks. I would call that a problem with not having block scope, not a problem with hoisting. Not trying to be pedantic; I was just confused about how hoisting could be such a problem. A language could have variable/function declarations hoisted to the top of block scope rather than the top of function scope.
And as I'm sure you know, JS now supports block scoped variables through `let` and `const`.
And as I'm sure you know, JS now supports block scoped variables through `let` and `const`.