Index: src/GenPoly/Specialize.cc
===================================================================
--- src/GenPoly/Specialize.cc	(revision 46adb831d26f53a5b963fcd80d14bef852513334)
+++ src/GenPoly/Specialize.cc	(revision 1744e6dcb31d7285202ff1adba2028191f51648e)
@@ -101,6 +101,6 @@
 			// conversion of 0 (null) to function type does not require tuple specialization
 			if ( dynamic_cast< ZeroType * >( actualType ) ) return false;
-			FunctionType * aftype = getFunctionType( actualType );
-			assertf( aftype, "formal type is a function type, but actual type is not." );
+			FunctionType * aftype = getFunctionType( actualType->stripReferences() );
+			assertf( aftype, "formal type is a function type, but actual type is not: %s", toString( actualType ).c_str() );
 			if ( fftype->get_parameters().size() != aftype->get_parameters().size() ) return true;
 			for ( auto params : group_iterate( fftype->get_parameters(), aftype->get_parameters() ) ) {
