public void Build(PackageBinder packageBinder)
        {
            var imports = compilationUnit.UsingDirectives.SelectMany(u => GatherImportedSymbols(u, packageBinder));
            var scope = new CompilationUnitBinder(packageBinder, compilationUnit, imports);

            foreach(var declaration in compilationUnit.Declarations)
                Build(declaration, scope);
        }
        public void Build(PackageBinder packageBinder)
        {
            var imports = compilationUnit.UsingDirectives.SelectMany(u => GatherImportedSymbols(u, packageBinder));
            var scope   = new CompilationUnitBinder(packageBinder, compilationUnit, imports);

            foreach (var declaration in compilationUnit.Declarations)
            {
                Build(declaration, scope);
            }
        }