Index: src/AST/Eval.hpp
===================================================================
--- src/AST/Eval.hpp	(revision 491bb8143fd5e1c44e0e577e3ffebd23d5597018)
+++ 	(revision )
@@ -1,37 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// Eval.hpp --
-//
-// Author           : Aaron B. Moss
-// Created On       : Fri Jun 28 14:00:00 2019
-// Last Modified By : Aaron B. Moss
-// Created On       : Fri Jun 28 14:00:00 2019
-// Update Count     : 1
-//
-
-#include <string>
-#include <utility>
-
-#include "Expr.hpp"
-
-namespace ast {
-
-/// Create a new UntypedExpr with the given arguments
-template< typename... Args >
-UntypedExpr * call( const CodeLocation & loc, const std::string & name, Args &&... args ) {
-	return new UntypedExpr {
-		loc, new NameExpr { loc, name },
-		std::vector< ptr< Expr > > { std::forward< Args >( args )... } };
-}
-
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// mode: c++ //
-// compile-command: "make install" //
-// End: //
Index: src/AST/Expr.cpp
===================================================================
--- src/AST/Expr.cpp	(revision 491bb8143fd5e1c44e0e577e3ffebd23d5597018)
+++ src/AST/Expr.cpp	(revision 1c56bf7102e90c1bc70a37565dadd8a811d1d3e4)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 15 17:00:00 2019
 // Last Modified By : Andrew Beach
-// Created On       : Tue Nov 30 14:23:00 2021
-// Update Count     : 7
+// Created On       : Wed May 18 13:56:00 2022
+// Update Count     : 8
 //
 
@@ -21,5 +21,4 @@
 
 #include "Copy.hpp"                // for shallowCopy
-#include "Eval.hpp"                // for call
 #include "GenericSubstitution.hpp"
 #include "LinkageSpec.hpp"
@@ -67,8 +66,13 @@
 // --- UntypedExpr
 
+bool UntypedExpr::get_lvalue() const {
+	std::string fname = InitTweak::getFunctionName( this );
+	return lvalueFunctionNames.count( fname );
+}
+
 UntypedExpr * UntypedExpr::createDeref( const CodeLocation & loc, const Expr * arg ) {
 	assert( arg );
 
-	UntypedExpr * ret = call( loc, "*?", arg );
+	UntypedExpr * ret = createCall( loc, "*?", { arg } );
 	if ( const Type * ty = arg->result ) {
 		const Type * base = InitTweak::getPointerBase( ty );
@@ -87,13 +91,8 @@
 }
 
-bool UntypedExpr::get_lvalue() const {
-	std::string fname = InitTweak::getFunctionName( this );
-	return lvalueFunctionNames.count( fname );
-}
-
 UntypedExpr * UntypedExpr::createAssign( const CodeLocation & loc, const Expr * lhs, const Expr * rhs ) {
 	assert( lhs && rhs );
 
-	UntypedExpr * ret = call( loc, "?=?", lhs, rhs );
+	UntypedExpr * ret = createCall( loc, "?=?", { lhs, rhs } );
 	if ( lhs->result && rhs->result ) {
 		// if both expressions are typed, assumes that this assignment is a C bitwise assignment,
@@ -102,4 +101,10 @@
 	}
 	return ret;
+}
+
+UntypedExpr * UntypedExpr::createCall( const CodeLocation & loc,
+		const std::string & name, std::vector<ptr<Expr>> && args ) {
+	return new UntypedExpr( loc,
+			new NameExpr( loc, name ), std::move( args ) );
 }
 
Index: src/AST/Expr.hpp
===================================================================
--- src/AST/Expr.hpp	(revision 491bb8143fd5e1c44e0e577e3ffebd23d5597018)
+++ src/AST/Expr.hpp	(revision 1c56bf7102e90c1bc70a37565dadd8a811d1d3e4)
@@ -230,4 +230,7 @@
 	/// Creates a new assignment expression
 	static UntypedExpr * createAssign( const CodeLocation & loc, const Expr * lhs, const Expr * rhs );
+	/// Creates a new call of a variable.
+	static UntypedExpr * createCall( const CodeLocation & loc,
+		const std::string & name, std::vector<ptr<Expr>> && args );
 
 	const Expr * accept( Visitor & v ) const override { return v.visit( this ); }
Index: src/AST/module.mk
===================================================================
--- src/AST/module.mk	(revision 491bb8143fd5e1c44e0e577e3ffebd23d5597018)
+++ src/AST/module.mk	(revision 1c56bf7102e90c1bc70a37565dadd8a811d1d3e4)
@@ -29,5 +29,4 @@
 	AST/DeclReplacer.cpp \
 	AST/DeclReplacer.hpp \
-	AST/Eval.hpp \
 	AST/Expr.cpp \
 	AST/Expr.hpp \
