Index: src/AST/Copy.hpp
===================================================================
--- src/AST/Copy.hpp	(revision 81da70a5fabf0e44bf05c7b927e395b9e4c76239)
+++ src/AST/Copy.hpp	(revision 276f105254aa4738569d87456723e9b72f7a5a42)
@@ -10,6 +10,6 @@
 // Created On       : Wed Jul 10 16:13:00 2019
 // Last Modified By : Andrew Beach
-// Last Modified On : Thr Jul 11 10:38:00 2019
-// Update Count     : 0
+// Last Modified On : Fri Jun 19 16:43:00 2020
+// Update Count     : 1
 //
 
@@ -45,4 +45,9 @@
 	std::unordered_set< readonly<Node> * > readonlyCache;
 
+	template<typename node_t>
+	void readonlyInsert( const readonly<node_t> * ptrptr ) {
+		readonlyCache.insert( (readonly<Node> *) ptrptr );
+	}
+
 public:
 	template<typename node_t>
@@ -54,45 +59,45 @@
 
 	void postvisit( const AggregateDecl * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->parent );
+		readonlyInsert( &node->parent );
 	}
 
 	void postvisit( const StructInstType * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->base );
+		readonlyInsert( &node->base );
 	}
 
 	void postvisit( const UnionInstType * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->base );
+		readonlyInsert( &node->base );
 	}
 
 	void postvisit( const EnumInstType * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->base );
+		readonlyInsert( &node->base );
 	}
 
 	void postvisit( const TraitInstType * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->base );
+		readonlyInsert( &node->base );
 	}
 
 	void postvisit( const TypeInstType * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->base );
+		readonlyInsert( &node->base );
 	}
 
 	void postvisit( const ImplicitCtorDtorStmt * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->callStmt );
+		readonlyInsert( (const readonly<Stmt> *) &node->callStmt );
 	}
 
 	void postvisit( const MemberExpr * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->member );
+		readonlyInsert( &node->member );
 	}
 
 	void postvisit( const VariableExpr * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->var );
+		readonlyInsert( &node->var );
 	}
 
 	void postvisit( const OffsetofExpr * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->member );
+		readonlyInsert( &node->member );
 	}
 
 	void postvisit( const DeletedExpr * node ) {
-		readonlyCache.insert( (readonly<Node> *) & node->deleteStmt );
+		readonlyInsert( &node->deleteStmt );
 	}
 
