Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 85b2300ccd54c321b4c865c13260f2e58c5f83d7)
+++ src/Common/PassVisitor.h	(revision 704d11e2ffdbb692fc9273100ec7d9ce249c179c)
@@ -133,4 +133,5 @@
 	virtual void visit( ArrayType * arrayType ) override final;
 	virtual void visit( ReferenceType * referenceType ) override final;
+	virtual void visit( QualifiedType * qualType ) override final;
 	virtual void visit( FunctionType * functionType ) override final;
 	virtual void visit( StructInstType * aggregateUseType ) override final;
@@ -233,4 +234,5 @@
 	virtual Type * mutate( ArrayType * arrayType ) override final;
 	virtual Type * mutate( ReferenceType * referenceType ) override final;
+	virtual Type * mutate( QualifiedType * qualType ) override final;
 	virtual Type * mutate( FunctionType * functionType ) override final;
 	virtual Type * mutate( StructInstType * aggregateUseType ) override final;
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 85b2300ccd54c321b4c865c13260f2e58c5f83d7)
+++ src/Common/PassVisitor.impl.h	(revision 704d11e2ffdbb692fc9273100ec7d9ce249c179c)
@@ -2262,4 +2262,26 @@
 
 //--------------------------------------------------------------------------
+// QualifiedType
+template< typename pass_type >
+void PassVisitor< pass_type >::visit( QualifiedType * node ) {
+	VISIT_START( node );
+
+	maybeAccept_impl( node->forall, *this );
+	maybeAccept_impl( node->types, *this );
+
+	VISIT_END( node );
+}
+
+template< typename pass_type >
+Type * PassVisitor< pass_type >::mutate( QualifiedType * node ) {
+	MUTATE_START( node );
+
+	maybeMutate_impl( node->forall, *this );
+	maybeMutate_impl( node->types, *this );
+
+	MUTATE_END( Type, node );
+}
+
+//--------------------------------------------------------------------------
 // FunctionType
 template< typename pass_type >
