Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision 92360603d942184e66e5f92706ecc75c6b04f121)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision 74b007ba1f2facc85656ade19a8bab1d56bb0a82)
@@ -633,4 +633,10 @@
 		AssertionSet newNeed;
 		//AssertionParentSet needParents;
+		PRINT(
+			std::cerr << "env is: " << std::endl;
+			newAlt.env.print( std::cerr, 0 );
+			std::cerr << std::endl;
+		)
+
 		inferRecursive( need.begin(), need.end(), newAlt, openVars, decls, newNeed, /*needParents,*/ 0, indexer, out );
 //	PRINT(
Index: src/ResolvExpr/ConversionCost.cc
===================================================================
--- src/ResolvExpr/ConversionCost.cc	(revision 92360603d942184e66e5f92706ecc75c6b04f121)
+++ src/ResolvExpr/ConversionCost.cc	(revision 74b007ba1f2facc85656ade19a8bab1d56bb0a82)
@@ -77,5 +77,5 @@
 
 	Cost convertToReferenceCost( Type * src, Type * dest, int diff, const SymTab::Indexer & indexer, const TypeEnvironment & env ) {
-		std::cerr << "convert to reference cost..." << std::endl;
+		// std::cerr << "convert to reference cost..." << std::endl;
 		if ( diff > 0 ) {
 			// TODO: document this
@@ -92,5 +92,5 @@
 			ReferenceType * destAsRef = dynamic_cast< ReferenceType * >( dest );
 			if ( srcAsRef && destAsRef ) { // pointer-like conversions between references
-				std::cerr << "converting between references" << std::endl;
+				// std::cerr << "converting between references" << std::endl;
 				if ( srcAsRef->get_base()->get_qualifiers() <= destAsRef->get_base()->get_qualifiers() && typesCompatibleIgnoreQualifiers( srcAsRef->get_base(), destAsRef->get_base(), indexer, env ) ) {
 					return Cost::safe;
@@ -104,5 +104,5 @@
 				} // if
 			} else {
-				std::cerr << "reference to rvalue conversion" << std::endl;
+				// std::cerr << "reference to rvalue conversion" << std::endl;
 				ConversionCost converter( dest, indexer, env );
 				src->accept( converter );
@@ -113,7 +113,7 @@
 			assert( diff == -1 && destAsRef );
 			if ( typesCompatibleIgnoreQualifiers( src, destAsRef->get_base(), indexer, env ) ) {
-				std::cerr << "converting compatible base type" << std::endl;
+				// std::cerr << "converting compatible base type" << std::endl;
 				if ( src->get_lvalue() ) {
-					std::cerr << "lvalue to reference conversion" << std::endl;
+					// std::cerr << "lvalue to reference conversion" << std::endl;
 					// lvalue-to-reference conversion:  cv lvalue T => cv T &
 					if ( src->get_qualifiers() == destAsRef->get_base()->get_qualifiers() ) {
@@ -125,5 +125,5 @@
 					} // if
 				} else if ( destAsRef->get_base()->get_const() ) {
-					std::cerr << "rvalue to const ref conversion" << std::endl;
+					// std::cerr << "rvalue to const ref conversion" << std::endl;
 					// rvalue-to-const-reference conversion: T => const T &
 					return Cost::safe;
@@ -134,5 +134,5 @@
 				} // if
 			} // if
-			std::cerr << "attempting to convert from incompatible base type -- fail" << std::endl;
+			// std::cerr << "attempting to convert from incompatible base type -- fail" << std::endl;
 		}
 		return Cost::infinity;
