Interesting to learn not all variables are hoisted in JS. Exceptions in catch clauses and the names of named function expressions are not.