Index: src/include/cassert
===================================================================
--- src/include/cassert	(revision f685679ccf556a852ac2dfac5c217d0fcf9ca7f1)
+++ src/include/cassert	(revision 93744b58e740b700af32339b06e691f172b99706)
@@ -10,6 +10,6 @@
 // Created On       : Thu Aug 18 13:19:26 2016
 // Last Modified By : Andrew Beach
-// Last Modified On : Thu May 23 15:30:00 2017
-// Update Count     : 17
+// Last Modified On : Mon Jun  3 13:11:00 2017
+// Update Count     : 18
 //
 
@@ -43,15 +43,15 @@
 #endif
 
-enum StrictAllowNull {NonNull, AllowNull};
-
-template<typename T, StrictAllowNull nullable = NonNull, typename U>
+template<typename T, typename U>
 static inline T strict_dynamic_cast( const U & src ) {
-	if (nullable == AllowNull && src == nullptr) {
-		return nullptr;
-	}
 	assert(src);
 	T ret = dynamic_cast<T>(src);
 	assertf(ret, "%s", toString(src).c_str());
 	return ret;
+}
+
+template<typename T, decltype(nullptr) null, typename U>
+static inline T strict_dynamic_cast( const U & src ) {
+	return src ? strict_dynamic_cast<T, U>( src ) : nullptr;
 }
 
