Index: src/examples/coroutine.c
===================================================================
--- src/examples/coroutine.c	(revision 0e76cf4f08013d765530952465f1547e8fd011e2)
+++ src/examples/coroutine.c	(revision 9129a848d87bdbb3434b3db7693cba174b561aae)
@@ -12,5 +12,5 @@
 
 coroutine* this_coroutine(Fibonacci* this) {
-
+      return &this->c;
 }
 
@@ -19,10 +19,10 @@
       this->fn = 0;
       fn1 = this->fn;
-      suspend(this); 		// return to last resume
+      suspend(); 		// return to last resume
 
       this->fn = 1;
       fn2 = fn1;
       fn1 = this->fn;
-      suspend(this); 		// return to last resume
+      suspend(); 		// return to last resume
 
       for ( ;; ) {
@@ -30,5 +30,5 @@
             fn2 = fn1;
             fn1 = this->fn;
-            suspend(this); 	// return to last resume
+            suspend(); 	// return to last resume
       }
 }
@@ -39,8 +39,10 @@
 }
 
-void main() {
+int main() {
       Fibonacci f1, f2;
       for ( int i = 1; i <= 10; i += 1 ) {
             sout | next(&f1) | ' ' | next(&f2) | endl;
       }
+
+      return 0;
 }
