Index: src/SynTree/Mutator.h
===================================================================
--- src/SynTree/Mutator.h	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/SynTree/Mutator.h	(revision 9a7a3b6c9f6f1ee9bd0189a208bca78854db3d93)
@@ -114,4 +114,5 @@
 	virtual Type * mutate( ZeroType * zeroType ) = 0;
 	virtual Type * mutate( OneType * oneType ) = 0;
+	virtual Type * mutate( GlobalScopeType * globalType ) = 0;
 
 	virtual Designation * mutate( Designation * designation ) = 0 ;
Index: src/SynTree/SynTree.h
===================================================================
--- src/SynTree/SynTree.h	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/SynTree/SynTree.h	(revision 9a7a3b6c9f6f1ee9bd0189a208bca78854db3d93)
@@ -124,4 +124,5 @@
 class ZeroType;
 class OneType;
+class GlobalScopeType;
 
 class Designation;
Index: src/SynTree/Type.cc
===================================================================
--- src/SynTree/Type.cc	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/SynTree/Type.cc	(revision 9a7a3b6c9f6f1ee9bd0189a208bca78854db3d93)
@@ -118,7 +118,13 @@
 
 void QualifiedType::print( std::ostream & os, Indenter indent ) const {
-	os << "Qualified Type: ";
+	os << "Qualified Type: " << endl;
 	printAll( types, os, indent+1 );
 	Type::print( os, indent+1 );
+}
+
+GlobalScopeType::GlobalScopeType() : Type( Type::Qualifiers(), {} ) {}
+
+void GlobalScopeType::print( std::ostream & os, Indenter indent ) const {
+	os << "Global Scope Type" << endl;
 }
 
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/SynTree/Type.h	(revision 9a7a3b6c9f6f1ee9bd0189a208bca78854db3d93)
@@ -679,4 +679,14 @@
 };
 
+class GlobalScopeType : public Type {
+  public:
+	GlobalScopeType();
+
+	virtual GlobalScopeType *clone() const override { return new GlobalScopeType( *this ); }
+	virtual void accept( Visitor & v ) override { v.visit( this ); }
+	virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); }
+	virtual void print( std::ostream & os, Indenter indent = {} ) const override;
+};
+
 // Local Variables: //
 // tab-width: 4 //
Index: src/SynTree/Visitor.h
===================================================================
--- src/SynTree/Visitor.h	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/SynTree/Visitor.h	(revision 9a7a3b6c9f6f1ee9bd0189a208bca78854db3d93)
@@ -116,4 +116,5 @@
 	virtual void visit( ZeroType * zeroType ) = 0;
 	virtual void visit( OneType * oneType ) = 0;
+	virtual void visit( GlobalScopeType * globalType ) = 0;
 
 	virtual void visit( Designation * designation ) = 0;
