Introduced intermediate AST layer. Scope checker operates over it.
Assuming a final pass over the tree will take place to convert AST nodes
to actual ones