Index: tests/concurrency/cofor.cfa
===================================================================
--- tests/concurrency/cofor.cfa	(revision 5a1ae14d260cbaf6348528c6b1ae616bd9df9b31)
+++ tests/concurrency/cofor.cfa	(revision 26dfce52332df62429fa7390b91f00feffeef931)
@@ -1,14 +1,21 @@
 #include <cofor.hfa>
 
-long total = 0;
-void add_num( void * arg ) { __atomic_fetch_add( &total, (long)arg, __ATOMIC_SEQ_CST ); }
+
+void add_num( long * total, long val ) { __atomic_fetch_add( total, (long)val, __ATOMIC_SEQ_CST ); }
 
 int main() {
     printf("start\n");
     processor p[4];
+    long total = 0;
     COFOR( i, 0, 10, __atomic_fetch_add( &total, i, __ATOMIC_SEQ_CST ); );
-    parallel_stmt_t stmts[5] = { add_num, add_num, add_num, add_num, add_num };
-    void * nums[5] = { (void *)11, (void *)12, (void *)13, (void *)14, (void *)15 };
-    parallel( stmts, nums, 5 );
+    {
+        corun;      // does nothing
+        corun{};    // does nothing
+        corun add_num( &total, 11 );
+        corun { add_num( &total, 12 ); }
+        corun __atomic_fetch_add( &total, 13, __ATOMIC_SEQ_CST );
+        corun { __atomic_fetch_add( &total, 14, __ATOMIC_SEQ_CST ); }
+        __atomic_fetch_add( &total, 15, __ATOMIC_SEQ_CST ); // run by main thd
+    }
     printf("total: %ld\n", total);
     printf("done\n");
