Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision 6e7ed0aae5c3d162fadc30a2aad792abe6f1a8a7)
+++ src/InitTweak/FixInit.cc	(revision fa761c2aa9a4a9b1a22e28f45f380ba9d9ad36c0)
@@ -58,8 +58,8 @@
 #include "Validate/FindSpecialDecls.h" // for dtorStmt, dtorStructDestroy
 
-bool ctordtorp = false; // print all debug
-bool ctorp = false; // print ctor debug
-bool cpctorp = false; // print copy ctor debug
-bool dtorp = false; // print dtor debug
+extern bool ctordtorp; // print all debug
+extern bool ctorp; // print ctor debug
+extern bool cpctorp; // print copy ctor debug
+extern bool dtorp; // print dtor debug
 #define PRINT( text ) if ( ctordtorp ) { text }
 #define CP_CTOR_PRINT( text ) if ( ctordtorp || cpctorp ) { text }
Index: src/InitTweak/FixInitNew.cpp
===================================================================
--- src/InitTweak/FixInitNew.cpp	(revision 6e7ed0aae5c3d162fadc30a2aad792abe6f1a8a7)
+++ src/InitTweak/FixInitNew.cpp	(revision fa761c2aa9a4a9b1a22e28f45f380ba9d9ad36c0)
@@ -33,8 +33,8 @@
 #include "SymTab/GenImplicitCall.hpp"  // for genImplicitCall
 
-extern bool ctordtorp; // print all debug
-extern bool ctorp; // print ctor debug
-extern bool cpctorp; // print copy ctor debug
-extern bool dtorp; // print dtor debug
+bool ctordtorp = false; // print all debug
+bool ctorp = false; // print ctor debug
+bool cpctorp = false; // print copy ctor debug
+bool dtorp = false; // print dtor debug
 #define PRINT( text ) if ( ctordtorp ) { text }
 #define CP_CTOR_PRINT( text ) if ( ctordtorp || cpctorp ) { text }
Index: src/ResolvExpr/CandidateFinder.cpp
===================================================================
--- src/ResolvExpr/CandidateFinder.cpp	(revision 6e7ed0aae5c3d162fadc30a2aad792abe6f1a8a7)
+++ src/ResolvExpr/CandidateFinder.cpp	(revision fa761c2aa9a4a9b1a22e28f45f380ba9d9ad36c0)
@@ -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 6e7ed0aae5c3d162fadc30a2aad792abe6f1a8a7)
+++ src/ResolvExpr/SatisfyAssertions.cpp	(revision fa761c2aa9a4a9b1a22e28f45f380ba9d9ad36c0)
@@ -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 );
