Index: tests/zombies/gc_no_raii/bug-repro/blockers/explicit_cast.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/blockers/explicit_cast.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/blockers/explicit_cast.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -9,5 +9,5 @@
 };
 
-forall(otype T)
+forall(T)
 struct gcpointer
 {
@@ -15,5 +15,5 @@
 };
 
-forall(otype T)
+forall(T)
 static inline gcpointer(T) gcmalloc()
 {
Index: tests/zombies/gc_no_raii/bug-repro/blockers/recursive_realloc.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/blockers/recursive_realloc.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/blockers/recursive_realloc.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -3,10 +3,10 @@
 #include <stdlib.hfa>
 
-trait allocator_c(otype T, otype allocator_t)
+trait allocator_c(T, allocator_t)
 {
 	void realloc(allocator_t* const, size_t);
 };
 
-forall(otype T)
+forall(T)
 struct heap_allocator
 {
@@ -15,5 +15,5 @@
 };
 
-forall(otype T)
+forall(T)
 inline void realloc(heap_allocator(T) *const this, size_t size)
 {
Index: tests/zombies/gc_no_raii/bug-repro/deref.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/deref.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/deref.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,3 +1,3 @@
-    forall(otype T)
+    forall(T)
     struct wrap
     {
@@ -5,5 +5,5 @@
     };
 
-    forall(otype T)
+    forall(T)
     T *? (wrap(T) rhs)
     {
Index: tests/zombies/gc_no_raii/bug-repro/field.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/field.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/field.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -8,5 +8,5 @@
 //------------------------------------------------------------------------------
 //Declaration
-trait allocator_c(otype T, otype allocator_t)
+trait allocator_c(T, allocator_t)
 {
 	void ctor(allocator_t* const);
@@ -16,5 +16,5 @@
 };
 
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 struct vector
 {
Index: tests/zombies/gc_no_raii/bug-repro/malloc.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/malloc.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/malloc.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,3 +1,3 @@
-forall(otype T)
+forall(T)
 struct wrapper
 {
@@ -5,5 +5,5 @@
 };
 
-forall(otype T)
+forall(T)
 void ctor(wrapper(T)* this)
 {
@@ -11,5 +11,5 @@
 }
 
-forall(otype T)
+forall(T)
 wrapper(T) gcmalloc()
 {
@@ -19,5 +19,5 @@
 }
 
-forall(otype T)
+forall(T)
 wrapper(T)* ?=? (wrapper(T)* lhs, wrapper(T)* rhs)
 {
Index: tests/zombies/gc_no_raii/bug-repro/oddtype.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/oddtype.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/oddtype.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,10 +1,10 @@
-forall(dtype T)
+forall(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) {}
+forall(T) void ?{}(wrap(T)* this) {}
+forall(T) void ?=?(wrap(T)* this) {}
+forall(T) void ^?{}(wrap(T)* this) {}
 
 struct List_t {
Index: tests/zombies/gc_no_raii/bug-repro/push_back.h
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/push_back.h	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/push_back.h	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,5 +1,5 @@
 //------------------------------------------------------------------------------
 //Declaration
-trait allocator_c(otype T, otype allocator_t) {
+trait allocator_c(T, allocator_t) {
 	void ctor(allocator_t* const);
 	void dtor(allocator_t* const);
@@ -8,5 +8,5 @@
 };
 
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 struct vector
 {
@@ -17,13 +17,13 @@
 //------------------------------------------------------------------------------
 //Initialization
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 void vector_ctor(vector(T, allocator_t) *const this);
 
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 void dtor(vector(T, allocator_t) *const this);
 
 //------------------------------------------------------------------------------
 //Allocator
-forall(otype T)
+forall(T)
 struct heap_allocator
 {
@@ -32,14 +32,14 @@
 };
 
-forall(otype T)
+forall(T)
 void ctor(heap_allocator(T) *const this);
 
-forall(otype T)
+forall(T)
 void dtor(heap_allocator(T) *const this);
 
-forall(otype T)
+forall(T)
 void realloc(heap_allocator(T) *const this, size_t size);
 
-forall(otype T)
+forall(T)
 inline T* data(heap_allocator(T) *const this)
 {
@@ -49,5 +49,5 @@
 //------------------------------------------------------------------------------
 //Capacity
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 inline bool empty(vector(T, allocator_t) *const this)
 {
@@ -55,5 +55,5 @@
 }
 
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 inline bool size(vector(T, allocator_t) *const this)
 {
@@ -61,5 +61,5 @@
 }
 
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 inline void reserve(vector(T, allocator_t) *const this, size_t size)
 {
@@ -69,4 +69,4 @@
 //------------------------------------------------------------------------------
 //Modifiers
-forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
+forall(T, allocator_t | allocator_c(T, allocator_t))
 void push_back(vector(T, allocator_t) *const this, T value);
Index: tests/zombies/gc_no_raii/bug-repro/realloc.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/realloc.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/realloc.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,5 +1,5 @@
 void* realloc(void*, unsigned long int);
 
-forall(otype T)
+forall(T)
 struct wrap
 {
@@ -7,5 +7,5 @@
 };
 
-forall(otype T)
+forall(T)
 static inline void realloc(wrap(T) *const this, unsigned long int size)
 {
Index: tests/zombies/gc_no_raii/bug-repro/return.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/return.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/return.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,3 +1,3 @@
-forall(otype T)
+forall(T)
 struct wrapper
 {
@@ -5,5 +5,5 @@
 };
 
-forall(otype T)
+forall(T)
 wrapper(T) create()
 {
@@ -12,5 +12,5 @@
 }
 
-forall(otype T)
+forall(T)
 wrapper(T)* ?=?(wrapper(T)* lhs, wrapper(T)* rhs)
 {
Index: tests/zombies/gc_no_raii/bug-repro/return_template.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/return_template.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/return_template.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,3 +1,3 @@
-forall(otype T)
+forall(T)
 struct wrap
 {
@@ -5,10 +5,10 @@
 };
 
-forall(otype T) void ?{}(wrap(T)* this);
-forall(otype T) void ?{}(wrap(T)* this, wrap(T)* rhs);
-forall(otype T) void ^?{}(wrap(T)* this);
-forall(otype T) void ?=?(wrap(T)* this, wrap(T)* rhs);
+forall(T) void ?{}(wrap(T)* this);
+forall(T) void ?{}(wrap(T)* this, wrap(T)* rhs);
+forall(T) void ^?{}(wrap(T)* this);
+forall(T) void ?=?(wrap(T)* this, wrap(T)* rhs);
 
-forall(otype T)
+forall(T)
 wrap(T) test()
 {
Index: tests/zombies/gc_no_raii/bug-repro/slow_malloc.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/slow_malloc.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/slow_malloc.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,5 +1,5 @@
 #include <stdlib.hfa>
 
-forall(otype T)
+forall(T)
 struct heap_allocator
 {
Index: tests/zombies/gc_no_raii/bug-repro/zero.c
===================================================================
--- tests/zombies/gc_no_raii/bug-repro/zero.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/bug-repro/zero.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -1,3 +1,3 @@
-forall(otype T)
+forall(T)
 struct wrap
 {
@@ -5,5 +5,5 @@
 };
 
-forall(otype T)
+forall(T)
 int ?==? (wrap(T) lhs, wrap(T) rhs)
 {
@@ -14,5 +14,5 @@
 struct wrap(int) 0;
 /*/
-forall(otype T)
+forall(T)
 struct wrap(T) 0;
 //*/
Index: tests/zombies/gc_no_raii/src/gc.h
===================================================================
--- tests/zombies/gc_no_raii/src/gc.h	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/src/gc.h	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -13,5 +13,5 @@
 // }
 
-forall(otype T)
+forall(T)
 static inline void gcmalloc(gcpointer(T)* ptr)
 {
Index: tests/zombies/gc_no_raii/src/gcpointers.c
===================================================================
--- tests/zombies/gc_no_raii/src/gcpointers.c	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/src/gcpointers.c	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -113,21 +113,21 @@
 #endif
 
-forall(otype T) void ?{}(gcpointer(T)* this) {
+forall(T) void ?{}(gcpointer(T)* this) {
 	(&this->internal) {};
 }
 
-forall(otype T) void ?{}(gcpointer(T)* this, void* address) {
+forall(T) void ?{}(gcpointer(T)* this, void* address) {
 	(&this->internal) { address };
 }
 
-forall(otype T) void ?{}(gcpointer(T)* this, gcpointer(T) other) {
+forall(T) void ?{}(gcpointer(T)* this, gcpointer(T) other) {
 	(&this->internal) { other.internal };
 }
 
-forall(otype T) void ^?{}(gcpointer(T)* this) {
+forall(T) void ^?{}(gcpointer(T)* this) {
 	^?{}(&this->internal);
 }
 
-forall(otype T) gcpointer(T) ?=?(gcpointer(T)* this, gcpointer(T) rhs) {
+forall(T) gcpointer(T) ?=?(gcpointer(T)* this, gcpointer(T) rhs) {
 	this->internal = rhs.internal;
 	return *this;
@@ -136,10 +136,10 @@
 // forall(otype T) T *?(gcpointer(T) this);
 
-forall(otype T) T* get(gcpointer(T)* this) {
+forall(T) T* get(gcpointer(T)* this) {
 	return (T*)this->internal.ptr;
 }
 //
 // //Logical operators
-forall(otype T) int ?!=?(gcpointer(T) this, int zero) {
+forall(T) int ?!=?(gcpointer(T) this, int zero) {
 	return this.internal.ptr != 0;
 }
Index: tests/zombies/gc_no_raii/src/gcpointers.h
===================================================================
--- tests/zombies/gc_no_raii/src/gcpointers.h	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/src/gcpointers.h	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -4,5 +4,5 @@
 #include <stdint.h>
 
-forall(dtype T)
+forall(T &)
 struct gcpointer;
 
@@ -29,5 +29,5 @@
 #endif
 
-forall(dtype T)
+forall(T &)
 struct gcpointer
 {
@@ -36,16 +36,16 @@
 
 //
-forall(otype T) void ?{}(gcpointer(T)* this);
-forall(otype T) void ?{}(gcpointer(T)* this, void* address);
-forall(otype T) void ?{}(gcpointer(T)* this, gcpointer(T) other);
-forall(otype T) void ^?{}(gcpointer(T)* this);
-forall(otype T) gcpointer(T) ?=?(gcpointer(T)* this, gcpointer(T) rhs);
+forall(T) void ?{}(gcpointer(T)* this);
+forall(T) void ?{}(gcpointer(T)* this, void* address);
+forall(T) void ?{}(gcpointer(T)* this, gcpointer(T) other);
+forall(T) void ^?{}(gcpointer(T)* this);
+forall(T) gcpointer(T) ?=?(gcpointer(T)* this, gcpointer(T) rhs);
 
 
 // forall(otype T) T *?(gcpointer(T) this);
-forall(otype T) T* get(gcpointer(T)* this);
+forall(T) T* get(gcpointer(T)* this);
 
 //Logical operators
-forall(otype T) int ?!=?(gcpointer(T) this, int zero);
-forall(otype T) int ?!=?(gcpointer(T) this, gcpointer(T) rhs);
-forall(otype T) int ?==?(gcpointer(T) this, gcpointer(T) rhs);
+forall(T) int ?!=?(gcpointer(T) this, int zero);
+forall(T) int ?!=?(gcpointer(T) this, gcpointer(T) rhs);
+forall(T) int ?==?(gcpointer(T) this, gcpointer(T) rhs);
Index: tests/zombies/gc_no_raii/src/tools.h
===================================================================
--- tests/zombies/gc_no_raii/src/tools.h	(revision 87b93323c11d412259391b6741a7bc4dcad8981e)
+++ tests/zombies/gc_no_raii/src/tools.h	(revision 9db2c920685ec71921fa077d452ed8cea1850f4e)
@@ -12,10 +12,10 @@
 // }
 
-trait has_equal(otype T)
+trait has_equal(T)
 {
 	signed int ?==?(T a, T b);
 };
 
-trait InputIterator_t(otype T, otype InputIterator)
+trait InputIterator_t(T, InputIterator)
 {
 	signed int ?==?(InputIterator a, InputIterator b);
@@ -26,5 +26,5 @@
 };
 
-forall(otype T | has_equal(T), otype InputIterator | InputIterator_t(T, InputIterator))
+forall(T | has_equal(T), InputIterator | InputIterator_t(T, InputIterator))
 static inline InputIterator find( InputIterator first, const InputIterator* const last, T val)
 {
