Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision e3d7f9ff33f317b575231654cab3ce4e670f0a3d)
+++ src/Common/PassVisitor.h	(revision e67991fd01d5341ea7ee45736431dbe64851911e)
@@ -279,5 +279,5 @@
 	virtual Statement * mutate( FinallyStmt * finallyStmt ) override final;
 	virtual Statement * mutate( WaitForStmt * waitforStmt ) override final;
-	virtual Statement * mutate( WithStmt * withStmt ) override final;
+	virtual Declaration * mutate( WithStmt * withStmt ) override final;
 	virtual NullStmt * mutate( NullStmt * nullStmt ) override final;
 	virtual Statement * mutate( DeclStmt * declStmt ) override final;
@@ -420,5 +420,5 @@
 	void indexerAddUnionFwd ( const UnionDecl           * node  ) { indexer_impl_addUnionFwd ( pass, 0, node ); }
 	void indexerAddTrait    ( const TraitDecl           * node  ) { indexer_impl_addTrait    ( pass, 0, node ); }
-	void indexerAddWith     ( const std::list< Expression * > & exprs, const BaseSyntaxNode * withStmt ) { indexer_impl_addWith( pass, 0, exprs, withStmt ); }
+	void indexerAddWith     ( const std::list< Expression * > & exprs, const Declaration * withStmt ) { indexer_impl_addWith( pass, 0, exprs, withStmt ); }
 
 
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision e3d7f9ff33f317b575231654cab3ce4e670f0a3d)
+++ src/Common/PassVisitor.impl.h	(revision e67991fd01d5341ea7ee45736431dbe64851911e)
@@ -1617,5 +1617,5 @@
 
 template< typename pass_type >
-Statement * PassVisitor< pass_type >::mutate( WithStmt * node ) {
+Declaration * PassVisitor< pass_type >::mutate( WithStmt * node ) {
 	MUTATE_START( node );
 	maybeMutate_impl( node->exprs, *this );
@@ -1626,5 +1626,5 @@
 		maybeMutate_impl( node->stmt, *this );
 	}
-	MUTATE_END( Statement, node );
+	MUTATE_END( Declaration, node );
 }
 
Index: src/Common/PassVisitor.proto.h
===================================================================
--- src/Common/PassVisitor.proto.h	(revision e3d7f9ff33f317b575231654cab3ce4e670f0a3d)
+++ src/Common/PassVisitor.proto.h	(revision e67991fd01d5341ea7ee45736431dbe64851911e)
@@ -235,5 +235,5 @@
 INDEXER_FUNC1( addUnion  , const UnionDecl *                 );
 INDEXER_FUNC1( addTrait  , const TraitDecl *                 );
-INDEXER_FUNC2( addWith   , const std::list< Expression * > &, const BaseSyntaxNode * );
+INDEXER_FUNC2( addWith   , const std::list< Expression * > &, const Declaration * );
 
 #undef INDEXER_FUNC1
