Minor reorganization / comment change
Errors in statements will be caught early and will not destroy the whole AST (and certainly not variables that were properly commit to the global scope).  Instead the AST intelligently repositions to the block where the improper statement was made and retracted.  Much restructuring and changing of responsibilities was done to enable this; e.g. operators are now responsible for their own reordering, rather than the AST / base Node.