Index: src/Tuples/Explode.cc
===================================================================
--- src/Tuples/Explode.cc	(revision 07de76bb7a0e1179ac6fb9bae0cb96e709315c84)
+++ src/Tuples/Explode.cc	(revision bcd74f39489d76f21240e6f14a5e7aae3956aa09)
@@ -129,5 +129,4 @@
 			for ( const ast::Expr * expr : tupleExpr->exprs ) {
 				exprs.emplace_back( applyCast( expr, false ) );
-				//exprs.emplace_back( ast::ptr< ast::Expr >( applyCast( expr, false ) ) );
 			}
 			if ( first ) {
Index: src/Tuples/Explode.h
===================================================================
--- src/Tuples/Explode.h	(revision 07de76bb7a0e1179ac6fb9bae0cb96e709315c84)
+++ src/Tuples/Explode.h	(revision bcd74f39489d76f21240e6f14a5e7aae3956aa09)
@@ -210,5 +210,5 @@
 			}
 			// Cast a reference away to a value-type to allow further explosion.
-			if ( dynamic_cast< const ast::ReferenceType *>( local->result.get() ) ) {
+			if ( local->result.as< ast::ReferenceType >() ) {
 				local = new ast::CastExpr{ local, tupleType };
 			}
@@ -220,5 +220,4 @@
 				// delete idx;
 			}
-			// delete local;
 		}
 	} else {
Index: src/Tuples/TupleAssignment.cc
===================================================================
--- src/Tuples/TupleAssignment.cc	(revision 07de76bb7a0e1179ac6fb9bae0cb96e709315c84)
+++ src/Tuples/TupleAssignment.cc	(revision bcd74f39489d76f21240e6f14a5e7aae3956aa09)
@@ -465,5 +465,5 @@
 					// resolve ctor/dtor for the new object
 					ast::ptr< ast::Init > ctorInit = ResolvExpr::resolveCtorInit(
-							InitTweak::genCtorInit( location, ret ), spotter.crntFinder.symtab );
+							InitTweak::genCtorInit( location, ret ), spotter.crntFinder.localSyms );
 					// remove environments from subexpressions of stmtExpr
 					ast::Pass< EnvRemover > rm{ env };
@@ -560,5 +560,5 @@
 					// resolve the cast expression so that rhsCand return type is bound by the cast
 					// type as needed, and transfer the resulting environment
-					ResolvExpr::CandidateFinder finder{ spotter.crntFinder.symtab, env };
+					ResolvExpr::CandidateFinder finder{ spotter.crntFinder.localSyms, env };
 					finder.find( rhsCand->expr, ResolvExpr::ResolvMode::withAdjustment() );
 					assert( finder.candidates.size() == 1 );
@@ -609,5 +609,5 @@
 					// explode the LHS so that each field of a tuple-valued expr is assigned
 					ResolvExpr::CandidateList lhs;
-					explode( *lhsCand, crntFinder.symtab, back_inserter(lhs), true );
+					explode( *lhsCand, crntFinder.localSyms, back_inserter(lhs), true );
 					for ( ResolvExpr::CandidateRef & cand : lhs ) {
 						// each LHS value must be a reference - some come in with a cast, if not
@@ -629,5 +629,5 @@
 							if ( isTuple( rhsCand->expr ) ) {
 								// multiple assignment
-								explode( *rhsCand, crntFinder.symtab, back_inserter(rhs), true );
+								explode( *rhsCand, crntFinder.localSyms, back_inserter(rhs), true );
 								matcher.reset(
 									new MultipleAssignMatcher{ *this, expr->location, lhs, rhs } );
@@ -648,5 +648,5 @@
 							// multiple assignment
 							ResolvExpr::CandidateList rhs;
-							explode( rhsCand, crntFinder.symtab, back_inserter(rhs), true );
+							explode( rhsCand, crntFinder.localSyms, back_inserter(rhs), true );
 							matcher.reset(
 								new MultipleAssignMatcher{ *this, expr->location, lhs, rhs } );
@@ -678,5 +678,5 @@
 				)
 
-				ResolvExpr::CandidateFinder finder{ crntFinder.symtab, matcher->env };
+				ResolvExpr::CandidateFinder finder{ crntFinder.localSyms, matcher->env };
 
 				try {
Index: src/Tuples/TupleExpansion.cc
===================================================================
--- src/Tuples/TupleExpansion.cc	(revision 07de76bb7a0e1179ac6fb9bae0cb96e709315c84)
+++ src/Tuples/TupleExpansion.cc	(revision bcd74f39489d76f21240e6f14a5e7aae3956aa09)
@@ -323,5 +323,5 @@
 		std::vector<ast::ptr<ast::Type>> types;
 		ast::CV::Qualifiers quals{
-			ast::CV::Const | ast::CV::Volatile | ast::CV::Restrict | ast::CV::Lvalue |
+			ast::CV::Const | ast::CV::Volatile | ast::CV::Restrict |
 			ast::CV::Atomic | ast::CV::Mutex };
 
