Navigating syntax trees + strongly typed AST nodes