If I remember correctly from the early days, it was Erel's design decision to have all local variables in a Sub 'hoisted' to entire Sub visibility wherever they were declared within a Sub so there was only one level of local variables. I have to admit that I never notice this nor miss the C/C++/C#/Java block visibility of declarations.