Index: src/Tuples/TupleExpansion.cc
===================================================================
--- src/Tuples/TupleExpansion.cc	(revision 7870799883ca946218c97fb6a189d1da90a16e8e)
+++ src/Tuples/TupleExpansion.cc	(revision b5ce31ec120a151dec3c38f3891982bfac0c0197)
@@ -9,7 +9,7 @@
 // Author           : Rodolfo G. Esteves
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Feb 13 18:14:12 2019
-// Update Count     : 21
+// Last Modified By : Andrew Beach
+// Last Modified On : Fri Jul 19 14:39:00 2019
+// Update Count     : 22
 //
 
@@ -364,9 +364,9 @@
 			ImpurityDetector( bool ignoreUnique ) : ignoreUnique( ignoreUnique ) {}
 
-			void previsit( ApplicationExpr * appExpr ) {
+			void previsit( const ApplicationExpr * appExpr ) {
 				visit_children = false;
-				if ( DeclarationWithType * function = InitTweak::getFunction( appExpr ) ) {
-					if ( function->get_linkage() == LinkageSpec::Intrinsic ) {
-						if ( function->get_name() == "*?" || function->get_name() == "?[?]" ) {
+				if ( const DeclarationWithType * function = InitTweak::getFunction( appExpr ) ) {
+					if ( function->linkage == LinkageSpec::Intrinsic ) {
+						if ( function->name == "*?" || function->name == "?[?]" ) {
 							// intrinsic dereference, subscript are pure, but need to recursively look for impurity
 							visit_children = true;
@@ -377,6 +377,6 @@
 				maybeImpure = true;
 			}
-			void previsit( UntypedExpr * ) { maybeImpure = true; visit_children = false; }
-			void previsit( UniqueExpr * ) {
+			void previsit( const UntypedExpr * ) { maybeImpure = true; visit_children = false; }
+			void previsit( const UniqueExpr * ) {
 				if ( ignoreUnique ) {
 					// bottom out at unique expression.
@@ -393,5 +393,5 @@
 	} // namespace
 
-	bool maybeImpure( Expression * expr ) {
+	bool maybeImpure( const Expression * expr ) {
 		PassVisitor<ImpurityDetector> detector( false );
 		expr->accept( detector );
@@ -399,5 +399,5 @@
 	}
 
-	bool maybeImpureIgnoreUnique( Expression * expr ) {
+	bool maybeImpureIgnoreUnique( const Expression * expr ) {
 		PassVisitor<ImpurityDetector> detector( true );
 		expr->accept( detector );
Index: src/Tuples/Tuples.h
===================================================================
--- src/Tuples/Tuples.h	(revision 7870799883ca946218c97fb6a189d1da90a16e8e)
+++ src/Tuples/Tuples.h	(revision b5ce31ec120a151dec3c38f3891982bfac0c0197)
@@ -55,10 +55,10 @@
 
 	/// returns true if the expression may contain side-effects.
-	bool maybeImpure( Expression * expr );
+	bool maybeImpure( const Expression * expr );
 	bool maybeImpure( const ast::Expr * expr );
 
 	/// Returns true if the expression may contain side-effect,
 	/// ignoring the presence of unique expressions.
-	bool maybeImpureIgnoreUnique( Expression * expr );
+	bool maybeImpureIgnoreUnique( const Expression * expr );
 	bool maybeImpureIgnoreUnique( const ast::Expr * expr );
 } // namespace Tuples
