Index: src/ResolvExpr/Resolver.cc
===================================================================
--- src/ResolvExpr/Resolver.cc	(revision a16764a6fbfe44300fc8834400a31c89befda091)
+++ src/ResolvExpr/Resolver.cc	(revision dd05e12d91f94668b101255655342bfd9b8f4486)
@@ -788,4 +788,5 @@
 		stmtExpr->accept( resolver );
 		stmtExpr->computeResult();
+		// xxx - aggregate the environments from all statements? Possibly in AlternativeFinder instead?
 	}
 
@@ -793,22 +794,22 @@
 		visit_children = false;
 		// xxx - fallback init has been removed => remove fallbackInit function and remove complexity from FixInit and remove C-init from ConstructorInit
-		maybeAccept( ctorInit->get_ctor(), *visitor );
-		maybeAccept( ctorInit->get_dtor(), *visitor );
+		maybeAccept( ctorInit->ctor, *visitor );
+		maybeAccept( ctorInit->dtor, *visitor );
 
 		// found a constructor - can get rid of C-style initializer
-		delete ctorInit->get_init();
-		ctorInit->set_init( NULL );
+		delete ctorInit->init;
+		ctorInit->init = nullptr;
 
 		// intrinsic single parameter constructors and destructors do nothing. Since this was
 		// implicitly generated, there's no way for it to have side effects, so get rid of it
 		// to clean up generated code.
-		if ( InitTweak::isIntrinsicSingleArgCallStmt( ctorInit->get_ctor() ) ) {
-			delete ctorInit->get_ctor();
-			ctorInit->set_ctor( NULL );
-		}
-
-		if ( InitTweak::isIntrinsicSingleArgCallStmt( ctorInit->get_dtor() ) ) {
-			delete ctorInit->get_dtor();
-			ctorInit->set_dtor( NULL );
+		if ( InitTweak::isIntrinsicSingleArgCallStmt( ctorInit->ctor ) ) {
+			delete ctorInit->ctor;
+			ctorInit->ctor = nullptr;
+		}
+
+		if ( InitTweak::isIntrinsicSingleArgCallStmt( ctorInit->dtor ) ) {
+			delete ctorInit->dtor;
+			ctorInit->dtor = nullptr;
 		}
 
