Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 108f3cdb1c308290d06b0f98d2f61dcf43a681bc)
+++ src/Common/PassVisitor.h	(revision a0c7dc36aea9a9949803d2973e714ade8c8e51e8)
@@ -145,5 +145,5 @@
 	virtual Declaration* mutate( EnumDecl *aggregateDecl ) override final;
 	virtual Declaration* mutate( TraitDecl *aggregateDecl ) override final;
-	virtual TypeDecl* mutate( TypeDecl *typeDecl ) override final;
+	virtual Declaration* mutate( TypeDecl *typeDecl ) override final;
 	virtual Declaration* mutate( TypedefDecl *typeDecl ) override final;
 	virtual AsmDecl* mutate( AsmDecl *asmDecl ) override final;
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 108f3cdb1c308290d06b0f98d2f61dcf43a681bc)
+++ src/Common/PassVisitor.impl.h	(revision a0c7dc36aea9a9949803d2973e714ade8c8e51e8)
@@ -976,6 +976,6 @@
 
 template< typename pass_type >
-TypeDecl * PassVisitor< pass_type >::mutate( TypeDecl * node ) {
-	MUTATE_BODY( TypeDecl, node );
+Declaration * PassVisitor< pass_type >::mutate( TypeDecl * node ) {
+	MUTATE_BODY( Declaration, node );
 }
 
