Index: libcfa/src/exception.c
===================================================================
--- libcfa/src/exception.c	(revision 8d462e5fbe93ecaca49836ea2d2073ea7090ea1e)
+++ libcfa/src/exception.c	(revision 979df46ed05bf9be5ee4f700ecf9545cad450535)
@@ -223,6 +223,5 @@
 
 // Cancel the current stack, prefroming approprate clean-up and messaging.
-static __attribute__((noreturn)) void __cfaehm_cancel_stack(
-		exception_t * exception ) {
+void __cfaehm_cancel_stack( exception_t * exception ) {
 	// TODO: Detect current stack and pick a particular stop-function.
 	_Unwind_Reason_Code ret;
Index: libcfa/src/exception.h
===================================================================
--- libcfa/src/exception.h	(revision 8d462e5fbe93ecaca49836ea2d2073ea7090ea1e)
+++ libcfa/src/exception.h	(revision 979df46ed05bf9be5ee4f700ecf9545cad450535)
@@ -38,4 +38,6 @@
 
 
+void __cfaehm_cancel_stack(exception_t * except) __attribute__((noreturn));
+
 // Used in throw statement translation.
 void __cfaehm_throw_terminate(exception_t * except) __attribute__((noreturn));
Index: libcfa/src/exception.hfa
===================================================================
--- libcfa/src/exception.hfa	(revision 8d462e5fbe93ecaca49836ea2d2073ea7090ea1e)
+++ libcfa/src/exception.hfa	(revision 979df46ed05bf9be5ee4f700ecf9545cad450535)
@@ -10,7 +10,19 @@
 // Created On       : Thu Apr  7 10:25:00 2020
 // Last Modified By : Andrew Beach
-// Last Modified On : Thu Apr  7 10:25:00 2020
-// Update Count     : 0
+// Last Modified On : Wed Apr 13 15:42:00 2020
+// Update Count     : 1
 //
+
+// WARNING: This is for documentation as it will match ANY type.
+trait is_exception(dtype T) {
+	/* The first field must be a pointer to a virtual table.
+	 * That virtual table must be a decendent of the base exception virtual table.
+	 */
+};
+
+forall(dtype T | is_exception(T))
+inline void cancel_stack(T & except) __attribute__((noreturn)) {
+	__cfaehm_cancel_stack( (exception_t *)&except );
+}
 
 // Everything below this line should be considered a patch while the exception
