Index: src/GenPoly/Box.cc
===================================================================
--- src/GenPoly/Box.cc	(revision 75f6a5fa496faa4311469b35ad1aed83bdc21e68)
+++ src/GenPoly/Box.cc	(revision 03c56f62485cec6eca96f9be0ac85070249e0703)
@@ -550,13 +550,12 @@
 				if ( tyParam.second.isComplete ) {
 					Type *concrete = env->lookup( tyParam.first );
-					if ( concrete ) {
-						arg = appExpr->get_args().insert( arg, new SizeofExpr( concrete->clone() ) );
-						arg++;
-						arg = appExpr->get_args().insert( arg, new AlignofExpr( concrete->clone() ) );
-						arg++;
-					} else {
-						// xxx - should this be an assertion?
-						SemanticError( appExpr, toString( *env, "\nunbound type variable: ", tyParam.first, " in application " ) );
-					} // if
+					// If there is an unbound type variable, it should have detected already.
+					assertf( concrete, "Unbound type variable: %s in: %s",
+						toCString( tyParam.first ), toCString( *env ) );
+
+					arg = appExpr->get_args().insert( arg, new SizeofExpr( concrete->clone() ) );
+					arg++;
+					arg = appExpr->get_args().insert( arg, new AlignofExpr( concrete->clone() ) );
+					arg++;
 				} // if
 			} // for
