Index: src/tests/except-0.c
===================================================================
--- src/tests/except-0.c	(revision e19509374076334f91b1cbed8f4635c80943b328)
+++ src/tests/except-0.c	(revision cbce2727f642c2a177c82c045248ba1923699527)
@@ -6,4 +6,5 @@
 #include <stdbool.h>
 
+// Local type to mark exits from scopes. (see ERROR)
 struct signal_exit {
 	const char * area;
@@ -19,5 +20,27 @@
 }
 
-void terminate(int except_value) {
+
+// Local Exception Types and manual vtable types.
+//#define TRIVIAL_EXCEPTION(name) //TRIVAL_EXCEPTION(yin)
+struct yin;
+struct yin_vtable {
+	struct exception_t_vtable const * parent;
+	size_t size;
+    void (*copy)(yin *this, yin * other);
+    void (*free)(yin *this);
+    const char (*msg)(yin *this);
+};
+struct yin {
+	struct yin_vtable const * parent;
+};
+void yin_msg(yin) {
+	return "in";
+}
+yin_vtable _yin_vtable_instance = {
+	&_exception_t_vtable_instance, sizeof(yin), ?{}, ^?{}, yin_msg
+}
+
+
+void terminate(exception * except_value) {
 	signal_exit a = {"terminate function"};
 	throw except_value;
@@ -25,5 +48,5 @@
 }
 
-void resume(int except_value) {
+void resume(exception * except_value) {
 	signal_exit a = {"resume function"};
 	throwResume except_value;
