Index: src/examples/gc_no_raii/src/internal/card_table.h
===================================================================
--- src/examples/gc_no_raii/src/internal/card_table.h	(revision 4c1403cc8cf803411997296a4715a0153ca7ef92)
+++ src/examples/gc_no_raii/src/internal/card_table.h	(revision 19b5d6b862d65ab02aafb546c784bf8f596cbc81)
@@ -18,10 +18,10 @@
 };
 
-static inline void ctor_card(card_table_t* const this)
+static inline void ?{}(card_table_t* this)
 {
 	this->count = 0;
 }
 
-static inline void dtor_card(card_table_t* const this)
+static inline void ^?{}(card_table_t* this)
 {
 
Index: src/examples/gc_no_raii/src/internal/memory_pool.c
===================================================================
--- src/examples/gc_no_raii/src/internal/memory_pool.c	(revision 4c1403cc8cf803411997296a4715a0153ca7ef92)
+++ src/examples/gc_no_raii/src/internal/memory_pool.c	(revision 19b5d6b862d65ab02aafb546c784bf8f596cbc81)
@@ -11,5 +11,5 @@
 const size_t gc_pool_header_size = (size_t)(  &(((gc_memory_pool*)NULL)->start_p) );
 
-void ctor(gc_memory_pool *const this, size_t size, gc_memory_pool* next, gc_memory_pool* mirror, uint8_t type)
+void ?{}(gc_memory_pool* this, size_t size, gc_memory_pool* next, gc_memory_pool* mirror, uint8_t type)
 {
 	this->mirror = mirror;
@@ -17,7 +17,5 @@
 	this->type_code = type;
 
-	card_table_t* new = (card_table_t*)malloc(sizeof(card_table_t));
-	this->cards = new;
-	ctor_card(this->cards);
+	this->cards = ( (card_table_t*)malloc(sizeof(card_table_t)) ){};
 
 	this->end_p = ((uint8_t*)this) + size;
@@ -29,7 +27,7 @@
 }
 
-void dtor(gc_memory_pool *const this)
+void ^?{}(gc_memory_pool* this)
 {
-	dtor_card(this->cards);
+	^(&this->cards){};
 	free(this->cards);
 }
Index: src/examples/gc_no_raii/src/internal/memory_pool.h
===================================================================
--- src/examples/gc_no_raii/src/internal/memory_pool.h	(revision 4c1403cc8cf803411997296a4715a0153ca7ef92)
+++ src/examples/gc_no_raii/src/internal/memory_pool.h	(revision 19b5d6b862d65ab02aafb546c784bf8f596cbc81)
@@ -27,5 +27,5 @@
 };
 
-void ctor(	gc_memory_pool *const this,
+void ?{}(	gc_memory_pool* this,
 		size_t size,
 		gc_memory_pool* next,
@@ -34,5 +34,5 @@
 	);
 
-void dtor(gc_memory_pool *const this);
+void ^?{}(gc_memory_pool* this);
 
 struct gc_pool_object_iterator
Index: src/examples/gc_no_raii/src/internal/state.c
===================================================================
--- src/examples/gc_no_raii/src/internal/state.c	(revision 4c1403cc8cf803411997296a4715a0153ca7ef92)
+++ src/examples/gc_no_raii/src/internal/state.c	(revision 19b5d6b862d65ab02aafb546c784bf8f596cbc81)
@@ -131,8 +131,8 @@
 
       this->from_space = (gc_memory_pool*)(pal_allocPool(POOL_SIZE_BYTES, 1));
-      this->to_space = (gc_memory_pool*)(pal_allocPool(POOL_SIZE_BYTES, 1));
-
-      ctor(this->from_space, POOL_SIZE_BYTES, old_from_space, this->to_space,   this->from_code);
-      ctor(this->to_space,   POOL_SIZE_BYTES, old_to_space,   this->from_space, (~this->from_code) & 0x01);
+      this->to_space   = (gc_memory_pool*)(pal_allocPool(POOL_SIZE_BYTES, 1));
+
+      this->from_space{ POOL_SIZE_BYTES, old_from_space, this->to_space,   this->from_code };
+      this->to_space  { POOL_SIZE_BYTES, old_to_space,   this->from_space, (~this->from_code) & 0x01 };
 
 	this->total_space += gc_pool_size_used(this->from_space);
