Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 3ca540ff8fca8be28ec085a72a11b96bf920dd76)
+++ src/Common/PassVisitor.h	(revision b8a4f47b1e7e8762a51ca29faaf9b54178526589)
@@ -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 3ca540ff8fca8be28ec085a72a11b96bf920dd76)
+++ src/Common/PassVisitor.impl.h	(revision b8a4f47b1e7e8762a51ca29faaf9b54178526589)
@@ -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();
