Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision 58c6432355a66c9e3871781c75e925d1d710b5e4)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision be3f163306e87aeb232bf497922012355b5762df)
@@ -57,5 +57,5 @@
 
 /// Unique identifier for matching expression resolutions to their requesting expression
-UniqueId globalResnSlot = 0;
+ast::UniqueId globalResnSlot = 0;
 
 namespace {
@@ -686,5 +686,5 @@
 	void Finder::inferParameters( CandidateRef & newCand, CandidateList & out ) {
 		// Set need bindings for any unbound assertions
-		UniqueId crntResnSlot = 0; // matching ID for this expression's assertions
+		ast::UniqueId crntResnSlot = 0; // matching ID for this expression's assertions
 		for ( auto & assn : newCand->need ) {
 			// skip already-matched assertions
Index: src/ResolvExpr/SatisfyAssertions.cpp
===================================================================
--- src/ResolvExpr/SatisfyAssertions.cpp	(revision 58c6432355a66c9e3871781c75e925d1d710b5e4)
+++ src/ResolvExpr/SatisfyAssertions.cpp	(revision be3f163306e87aeb232bf497922012355b5762df)
@@ -51,5 +51,5 @@
 
 // in CandidateFinder.cpp; unique ID for assertion satisfaction
-extern UniqueId globalResnSlot;
+extern ast::UniqueId globalResnSlot;
 
 namespace {
@@ -298,8 +298,8 @@
 			if ( !expr->inferred.hasSlots() ) return expr;
 			// if ( expr->inferred.mode != ast::Expr::InferUnion::Slots ) return expr;
-			std::vector<UniqueId> missingSlots;
+			std::vector<ast::UniqueId> missingSlots;
 			// find inferred parameters for resolution slots
 			ast::InferredParams * newInferred = new ast::InferredParams();
-			for ( UniqueId slot : expr->inferred.resnSlots() ) {
+			for ( ast::UniqueId slot : expr->inferred.resnSlots() ) {
 				// fail if no matching assertions found
 				auto it = inferred.find( slot );
