Ed, this is excellent stuff,
Your reply had me read frantically more on while and defined and I have now better understanding on true and defined(as well as while)
Just a quick question though, how/where did you know that while is doing that internally?
I cannot find any offical doc saying that's what it does. Your explanation helped me a lot but just wondering if I am not reading the right stuff or I am just not reading it carefully