Index: src/ResolvExpr/FindOpenVars.cc
===================================================================
--- src/ResolvExpr/FindOpenVars.cc	(revision 6f096d2341e25591a9d9435e4a28725954748a7a)
+++ src/ResolvExpr/FindOpenVars.cc	(revision 335d81f9b08d35c3b2d0a6b92a2c05d61d2cd368)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 09:42:48 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 17 09:45:25 2015
-// Update Count     : 3
+// Last Modified By : Andrew
+// Last Modified On : Fri Jul 12 14:18:00 2019
+// Update Count     : 4
 //
 
@@ -29,10 +29,10 @@
 		FindOpenVars_old( OpenVarSet &openVars, OpenVarSet &closedVars, AssertionSet &needAssertions, AssertionSet &haveAssertions, bool firstIsOpen );
 
-		void previsit( PointerType * pointerType );
-		void previsit( ArrayType * arrayType );
-		void previsit( FunctionType * functionType );
-		void previsit( TupleType * tupleType );
+		void previsit( const PointerType * pointerType );
+		void previsit( const ArrayType * arrayType );
+		void previsit( const FunctionType * functionType );
+		void previsit( const TupleType * tupleType );
 
-		void common_action( Type *type );
+		void common_action( const Type *type );
 
 		OpenVarSet &openVars, &closedVars;
@@ -41,5 +41,5 @@
 	};
 
-	void findOpenVars( Type *type, OpenVarSet &openVars, OpenVarSet &closedVars, AssertionSet &needAssertions, AssertionSet &haveAssertions, bool firstIsOpen ) {
+	void findOpenVars( const Type *type, OpenVarSet &openVars, OpenVarSet &closedVars, AssertionSet &needAssertions, AssertionSet &haveAssertions, bool firstIsOpen ) {
 		PassVisitor<FindOpenVars_old> finder( openVars, closedVars, needAssertions, haveAssertions, firstIsOpen );
 		type->accept( finder );
@@ -50,7 +50,7 @@
 	}
 
-	void FindOpenVars_old::common_action( Type *type ) {
+	void FindOpenVars_old::common_action( const Type * type ) {
 		if ( nextIsOpen ) {
-			for ( Type::ForallList::const_iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
+			for ( Type::ForallList::const_iterator i = type->forall.begin(); i != type->forall.end(); ++i ) {
 				openVars[ (*i)->get_name() ] = TypeDecl::Data{ (*i) };
 				for ( std::list< DeclarationWithType* >::const_iterator assert = (*i)->get_assertions().begin(); assert != (*i)->get_assertions().end(); ++assert ) {
@@ -61,5 +61,5 @@
 			}
 		} else {
-			for ( Type::ForallList::const_iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
+			for ( Type::ForallList::const_iterator i = type->forall.begin(); i != type->forall.end(); ++i ) {
 				closedVars[ (*i)->get_name() ] = TypeDecl::Data{ (*i) };
 				for ( std::list< DeclarationWithType* >::const_iterator assert = (*i)->get_assertions().begin(); assert != (*i)->get_assertions().end(); ++assert ) {
@@ -78,13 +78,13 @@
 	}
 
-	void FindOpenVars_old::previsit(PointerType *pointerType) {
+	void FindOpenVars_old::previsit(const PointerType * pointerType) {
 		common_action( pointerType );
 	}
 
-	void FindOpenVars_old::previsit(ArrayType *arrayType) {
+	void FindOpenVars_old::previsit(const ArrayType * arrayType) {
 		common_action( arrayType );
 	}
 
-	void FindOpenVars_old::previsit(FunctionType *functionType) {
+	void FindOpenVars_old::previsit(const FunctionType * functionType) {
 		common_action( functionType );
 		nextIsOpen = ! nextIsOpen;
@@ -92,5 +92,5 @@
 	}
 
-	void FindOpenVars_old::previsit(TupleType *tupleType) {
+	void FindOpenVars_old::previsit(const TupleType * tupleType) {
 		common_action( tupleType );
 	}
@@ -104,6 +104,6 @@
 			bool nextIsOpen;
 
-			FindOpenVars_new( 
-				ast::OpenVarSet & o, ast::OpenVarSet & c, ast::AssertionSet & n, 
+			FindOpenVars_new(
+				ast::OpenVarSet & o, ast::OpenVarSet & c, ast::AssertionSet & n,
 				ast::AssertionSet & h, FirstMode firstIsOpen )
 			: open( o ), closed( c ), need( n ), have( h ), nextIsOpen( firstIsOpen ) {}
@@ -135,6 +135,6 @@
 	}
 
-	void findOpenVars( 
-			const ast::Type * type, ast::OpenVarSet & open, ast::OpenVarSet & closed, 
+	void findOpenVars(
+			const ast::Type * type, ast::OpenVarSet & open, ast::OpenVarSet & closed,
 			ast::AssertionSet & need, ast::AssertionSet & have, FirstMode firstIsOpen ) {
 		ast::Pass< FindOpenVars_new > finder{ open, closed, need, have, firstIsOpen };
Index: src/ResolvExpr/FindOpenVars.h
===================================================================
--- src/ResolvExpr/FindOpenVars.h	(revision 6f096d2341e25591a9d9435e4a28725954748a7a)
+++ src/ResolvExpr/FindOpenVars.h	(revision 335d81f9b08d35c3b2d0a6b92a2c05d61d2cd368)
@@ -26,5 +26,5 @@
 namespace ResolvExpr {
 	// Updates open and closed variables and their associated assertions
-	void findOpenVars( Type *type, OpenVarSet &openVars, OpenVarSet &closedVars, AssertionSet &needAssertions, AssertionSet &haveAssertions, bool firstIsOpen );
+	void findOpenVars( const Type *type, OpenVarSet &openVars, OpenVarSet &closedVars, AssertionSet &needAssertions, AssertionSet &haveAssertions, bool firstIsOpen );
 
 	enum FirstMode { FirstClosed, FirstOpen };
Index: src/ResolvExpr/Occurs.cc
===================================================================
--- src/ResolvExpr/Occurs.cc	(revision 6f096d2341e25591a9d9435e4a28725954748a7a)
+++ src/ResolvExpr/Occurs.cc	(revision 335d81f9b08d35c3b2d0a6b92a2c05d61d2cd368)
@@ -24,5 +24,5 @@
 	struct Occurs : public WithVisitorRef<Occurs> {
 		Occurs( std::string varName, const TypeEnvironment &env );
-		void previsit( TypeInstType * typeInst );
+		void previsit( const TypeInstType * typeInst );
 
 		bool result;
@@ -31,5 +31,5 @@
 	};
 
-	bool occurs( Type *type, std::string varName, const TypeEnvironment &env ) {
+	bool occurs( const Type *type, const std::string & varName, const TypeEnvironment &env ) {
 		PassVisitor<Occurs> occur( varName, env );
 		type->accept( occur );
@@ -45,5 +45,5 @@
 	}
 
-	void Occurs::previsit( TypeInstType * typeInst ) {
+	void Occurs::previsit( const TypeInstType * typeInst ) {
 		///   std::cerr << "searching for vars: ";
 ///   std::copy( eqvVars.begin(), eqvVars.end(), std::ostream_iterator< std::string >( std::cerr, " " ) );
Index: src/ResolvExpr/ResolveAssertions.cc
===================================================================
--- src/ResolvExpr/ResolveAssertions.cc	(revision 6f096d2341e25591a9d9435e4a28725954748a7a)
+++ src/ResolvExpr/ResolveAssertions.cc	(revision 335d81f9b08d35c3b2d0a6b92a2c05d61d2cd368)
@@ -73,5 +73,5 @@
 		CandidateList matches;
 
-		DeferItem( DeclarationWithType* decl, const AssertionSetValue& info, CandidateList&& matches )
+		DeferItem( const DeclarationWithType* decl, const AssertionSetValue& info, CandidateList&& matches )
 		: decl(decl), info(info), matches(std::move(matches)) {}
 
Index: src/ResolvExpr/TypeEnvironment.cc
===================================================================
--- src/ResolvExpr/TypeEnvironment.cc	(revision 6f096d2341e25591a9d9435e4a28725954748a7a)
+++ src/ResolvExpr/TypeEnvironment.cc	(revision 335d81f9b08d35c3b2d0a6b92a2c05d61d2cd368)
@@ -315,8 +315,8 @@
 	}
 
-	bool isFtype( Type *type ) {
-		if ( dynamic_cast< FunctionType* >( type ) ) {
+	bool isFtype( const Type *type ) {
+		if ( dynamic_cast< const FunctionType * >( type ) ) {
 			return true;
-		} else if ( TypeInstType *typeInst = dynamic_cast< TypeInstType* >( type ) ) {
+		} else if ( const TypeInstType *typeInst = dynamic_cast< const TypeInstType * >( type ) ) {
 			return typeInst->get_isFtype();
 		} // if
Index: src/ResolvExpr/typeops.h
===================================================================
--- src/ResolvExpr/typeops.h	(revision 6f096d2341e25591a9d9435e4a28725954748a7a)
+++ src/ResolvExpr/typeops.h	(revision 335d81f9b08d35c3b2d0a6b92a2c05d61d2cd368)
@@ -149,5 +149,5 @@
 
 	// in Occurs.cc
-	bool occurs( Type * type, std::string varName, const TypeEnvironment & env );
+	bool occurs( const Type * type, const std::string & varName, const TypeEnvironment & env );
 	// new AST version in TypeEnvironment.cpp (only place it was used in old AST)
 
@@ -200,5 +200,5 @@
 
 	// in TypeEnvironment.cc
-	bool isFtype( Type * type );
+	bool isFtype( const Type * type );
 } // namespace ResolvExpr
 
