Index: src/AST/Pass.hpp
===================================================================
--- src/AST/Pass.hpp	(revision 90be0cf4038a0d324a55f8ab409c9aa1b4ba02e2)
+++ src/AST/Pass.hpp	(revision ed96731e0151e86950bd43918f4c4873b82f0102)
@@ -327,16 +327,20 @@
 /// The Pass template handles what *before* and *after* means automatically
 template< template<class...> class container_t = std::list >
-struct WithStmtsToAdd {
+struct WithStmtsToAddX {
 	container_t< ptr<Stmt> > stmtsToAddBefore;
 	container_t< ptr<Stmt> > stmtsToAddAfter;
 };
+
+struct WithStmtsToAdd : public WithStmtsToAddX<> {};
 
 /// Used if visitor requires added declarations before or after the current node.
 /// The Pass template handles what *before* and *after* means automatically
 template< template<class...> class container_t = std::list >
-struct WithDeclsToAdd {
+struct WithDeclsToAddX {
 	container_t< ptr<Decl> > declsToAddBefore;
 	container_t< ptr<Decl> > declsToAddAfter;
 };
+
+struct WithDeclsToAdd : public WithDeclsToAddX<> {};
 
 /// Use if visitation should stop at certain levels
