Index: tests/.expect/zero_one.txt
===================================================================
--- tests/.expect/zero_one.txt	(revision fd0a1799edd605d4d425f453cbf773d11bb8d520)
+++ tests/.expect/zero_one.txt	(revision fd0a1799edd605d4d425f453cbf773d11bb8d520)
@@ -0,0 +1,4 @@
+It's a Zero!
+It's a One!
+It's a Number!
+2 2
Index: tests/zero_one.cfa
===================================================================
--- tests/zero_one.cfa	(revision fd0a1799edd605d4d425f453cbf773d11bb8d520)
+++ tests/zero_one.cfa	(revision fd0a1799edd605d4d425f453cbf773d11bb8d520)
@@ -0,0 +1,46 @@
+#include <fstream.hfa>
+
+void foo(zero_t)
+{
+	sout | "It's a Zero!";
+}
+
+void foo(one_t)
+{
+	sout | "It's a One!";
+}
+
+void foo(int)
+{
+	sout | "It's a Number!";
+}
+
+void testOverloads()
+{
+	foo(0);
+	foo(1);
+	foo(2);
+}
+
+struct S { int i, j; };
+void ?{}( S & s, zero_t ) { s.[i,j] = 0; } // constructors
+void ?{}( S & s, one_t ) { s.[i,j] = 1; }
+S ?=?( S & dst, zero_t ) { dst.[i,j] = 0; return dst; } // assignment
+S ?=?( S & dst, one_t ) { dst.[i,j] = 1; return dst; }
+S ?+=?( S & s, one_t ) { s.[i,j] += 1; return s; } // increment
+S ?-=?( S & s, one_t ) { s.[i,j] -= 1; return s; }
+S ++?( S & s ) { s += 1; return s; }
+int ?!=?( S s, zero_t ) { return s.i != 0 && s.j != 0; } // comparison
+void testInitAssignQueryIncrement() {
+        S s = 0;
+        s = 0;
+        s = 1;
+        if ( s ) ++s;
+        sout | s.i | s.j;
+}
+
+int main() {
+	testOverloads();
+	testInitAssignQueryIncrement();
+	return 0;
+}
Index: sts/zombies/zero_one.c
===================================================================
--- tests/zombies/zero_one.c	(revision 283fbddd969525e9694abcb709bc45b284c7f7ea)
+++ 	(revision )
@@ -1,24 +1,0 @@
-#include <fstream.hfa>
-
-void foo(zero_t o)
-{
-	sout | "It's a Zero!";
-}
-
-void foo(one_t o)
-{
-	sout | "It's a One!";
-}
-
-void foo(int o)
-{
-	sout | "It's a Number!";
-}
-
-int main()
-{
-	foo(0);
-	foo(1);
-	foo(2);
-	return 0;
-}
