Scope enclosingScope(Node? node) { while (node is! Scope) { node = node?.parent; } return node as Scope; }