Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/Common/PassVisitor.h	(revision 47498bd8cd902a113be9b4b17ce98ecbdcaea509)
@@ -146,4 +146,5 @@
 	virtual void visit( ZeroType * zeroType ) override final;
 	virtual void visit( OneType * oneType ) override final;
+	virtual void visit( GlobalScopeType * globalType ) override final;
 
 	virtual void visit( Designation * designation ) override final;
@@ -247,4 +248,5 @@
 	virtual Type * mutate( ZeroType * zeroType ) override final;
 	virtual Type * mutate( OneType * oneType ) override final;
+	virtual Type * mutate( GlobalScopeType * globalType ) override final;
 
 	virtual Designation * mutate( Designation * designation ) override final;
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision c5d7701933b319f37bdfd125567ff5ffc52d83ef)
+++ src/Common/PassVisitor.impl.h	(revision 47498bd8cd902a113be9b4b17ce98ecbdcaea509)
@@ -2576,4 +2576,24 @@
 
 //--------------------------------------------------------------------------
+// GlobalScopeType
+template< typename pass_type >
+void PassVisitor< pass_type >::visit( GlobalScopeType * node ) {
+	VISIT_START( node );
+
+	maybeAccept_impl( node->forall, *this );
+
+	VISIT_END( node );
+}
+
+template< typename pass_type >
+Type * PassVisitor< pass_type >::mutate( GlobalScopeType * node ) {
+	MUTATE_START( node );
+
+	maybeMutate_impl( node->forall, *this );
+
+	MUTATE_END( Type, node );
+}
+
+//--------------------------------------------------------------------------
 // Designation
 template< typename pass_type >
