Index: libcfa/src/concurrency/coroutine.cfa
===================================================================
--- libcfa/src/concurrency/coroutine.cfa	(revision 342be435469470dee71cab92b46cf14f8fee7f3a)
+++ libcfa/src/concurrency/coroutine.cfa	(revision c9603315ea21ea420cca7496661da95111be0209)
@@ -24,12 +24,8 @@
 #include <unistd.h>
 #include <sys/mman.h>									// mprotect
-extern "C" {
-// use this define to make unwind.h play nice, definitely a hack
-#define HIDE_EXPORTS
 #include <unwind.h>
-#undef HIDE_EXPORTS
-}
 
 #include "kernel_private.hfa"
+#include "exception.hfa"
 
 #define __CFA_INVOKE_PRIVATE__
Index: libcfa/src/concurrency/exception.cfa
===================================================================
--- libcfa/src/concurrency/exception.cfa	(revision 342be435469470dee71cab92b46cf14f8fee7f3a)
+++ libcfa/src/concurrency/exception.cfa	(revision c9603315ea21ea420cca7496661da95111be0209)
@@ -10,22 +10,18 @@
 // Created On       : Mon Aug 17 10:41:00 2020
 // Last Modified By : Andrew Beach
-// Last Modified On : Tue Aug 25 14:41:00 2020
-// Update Count     : 0
+// Last Modified On : Wed Oct 28 14:34:00 2020
+// Update Count     : 1
 //
 
-extern "C" {
-// use this define to make unwind.h play nice, definitely a hack
-#define HIDE_EXPORTS
-#include <unwind.h>
-#undef HIDE_EXPORTS
+#define __cforall_thread__
 
-extern void __cfactx_thrd_leave();
-}
+#include "exception.hfa"
 
-#include "invoke.h"
-#include "exception.hfa"
 #include "coroutine.hfa"
 
 extern struct $thread * mainThread;
+extern "C" {
+extern void __cfactx_thrd_leave();
+}
 
 // Common pattern for all the stop functions, wait until the end then act.
Index: libcfa/src/concurrency/exception.hfa
===================================================================
--- libcfa/src/concurrency/exception.hfa	(revision 342be435469470dee71cab92b46cf14f8fee7f3a)
+++ libcfa/src/concurrency/exception.hfa	(revision c9603315ea21ea420cca7496661da95111be0209)
@@ -18,13 +18,12 @@
 // This is an internal bridge between the two modes and must be C compatable.
 
+#include <unwind.h>
 #include "bits/defs.hfa"
 #include "invoke.h"
+#include "exception.h"
 
 #ifdef __cforall
 extern "C" {
-
-#define HIDE_EXPORTS
 #endif
-#include "unwind.h"
 
 struct exception_context_t * this_exception_context(void) OPTIONAL_THREAD;
@@ -33,17 +32,5 @@
 		struct _Unwind_Exception * unwind_exception ) OPTIONAL_THREAD;
 
-struct __cfaehm_node {
-	struct _Unwind_Exception unwind_exception;
-	struct __cfaehm_node * next;
-	int handler_index;
-};
-
-static inline exception_t * __cfaehm_cancellation_exception(
-		struct _Unwind_Exception * unwind_exception ) {
-	return (exception_t *)(1 + (struct __cfaehm_node *)unwind_exception);
-}
-
 #ifdef __cforall
-#undef HIDE_EXPORTS
 }
 #endif
