Index: src/Tuples/TupleAssignment.cc
===================================================================
--- src/Tuples/TupleAssignment.cc	(revision 6d267ca6bdc59bcd82cb15c2629c927f34392457)
+++ src/Tuples/TupleAssignment.cc	(revision 7d49b72057cbd655ebb1eca536c21ec24bf995a0)
@@ -203,4 +203,12 @@
 			}
 		}
+
+		for ( ResolvExpr::Alternative & alt : lhs ) {
+			// every LHS value must be a reference - some come in with a cast expression, if it doesn't just cast to reference here.
+			// TODO: can this somehow be merge with the cast code directly above?
+			if ( ! dynamic_cast< ReferenceType * >( alt.expr->get_result() ) ) {
+				alt.expr = new CastExpr( alt.expr, new ReferenceType( Type::Qualifiers(), alt.expr->get_result()->clone() ) );
+			}
+		}
 	}
 
