Index: src/examples/gc_no_raii/bug-repro/field.c
===================================================================
--- src/examples/gc_no_raii/bug-repro/field.c	(revision bee4283e3bd6e66901025c23080a52c7417d1d59)
+++ src/examples/gc_no_raii/bug-repro/field.c	(revision 46f1d20b795c1bd13b510837cadfb283e40dc713)
@@ -62,5 +62,5 @@
 {
 	struct gc_object_header* object;
-	#if _DEBUG
+	#ifndef NDEBUG
 		intptr_t lower_limit;
 		intptr_t upper_limit;
@@ -71,5 +71,5 @@
 		gc_pool_object_iterator* const this,
 		void* start_object
-		#if _DEBUG
+		#ifndef NDEBUG
 			, intptr_t pool_start
 			, intptr_t pool_end
Index: src/examples/gc_no_raii/bug-repro/oddtype.c
===================================================================
--- src/examples/gc_no_raii/bug-repro/oddtype.c	(revision 46f1d20b795c1bd13b510837cadfb283e40dc713)
+++ src/examples/gc_no_raii/bug-repro/oddtype.c	(revision 46f1d20b795c1bd13b510837cadfb283e40dc713)
@@ -0,0 +1,13 @@
+forall(dtype T)
+struct wrap {
+	int i;
+};
+
+forall(otype T) void ?{}(wrap(T)* this) {}
+forall(otype T) void ?=?(wrap(T)* this) {}
+forall(otype T) void ^?{}(wrap(T)* this) {}
+
+struct List_t {
+	int val;
+	wrap(List_t) next;
+};
