Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision f240484f7d94bba0a956c3c0eb848259db6be7ff)
+++ src/Common/PassVisitor.h	(revision 07c178f0653a2553f5c511a5a286acc54ad243e2)
@@ -19,5 +19,6 @@
 #include "SynTree/Expression.h"
 #include "SynTree/Constant.h"
-#include "SynTree/TypeSubstitution.h"
+
+class TypeSubstitution;
 
 #include "PassVisitor.proto.h"
@@ -403,3 +404,4 @@
 };
 
+#include "SynTree/TypeSubstitution.h"
 #include "PassVisitor.impl.h"
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision f240484f7d94bba0a956c3c0eb848259db6be7ff)
+++ src/Common/PassVisitor.impl.h	(revision 07c178f0653a2553f5c511a5a286acc54ad243e2)
@@ -62,5 +62,5 @@
 
 template< typename pass_type >
-static inline void acceptAll( std::list< Declaration* > &decls, PassVisitor< pass_type >& visitor ) {
+inline void acceptAll( std::list< Declaration* > &decls, PassVisitor< pass_type >& visitor ) {
 	DeclList_t* beforeDecls = visitor.get_beforeDecls();
 	DeclList_t* afterDecls  = visitor.get_afterDecls();
@@ -90,5 +90,5 @@
 
 template< typename pass_type >
-static inline void mutateAll( std::list< Declaration* > &decls, PassVisitor< pass_type >& mutator ) {
+inline void mutateAll( std::list< Declaration* > &decls, PassVisitor< pass_type >& mutator ) {
 	DeclList_t* beforeDecls = mutator.get_beforeDecls();
 	DeclList_t* afterDecls  = mutator.get_afterDecls();
