Index: tests/coroutine/pingpong.cfa
===================================================================
--- tests/coroutine/pingpong.cfa	(revision f8cd310f8a2e04f07eba9dbf60597d9236e4932f)
+++ tests/coroutine/pingpong.cfa	(revision 697e484d702da04c1cc5dd1d99c67dd6bda73a46)
@@ -10,6 +10,6 @@
 // Created On       : Wed Sep 20 11:55:23 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Mar 22 13:37:52 2019
-// Update Count     : 30
+// Last Modified On : Tue Mar 26 17:54:14 2019
+// Update Count     : 35
 //
 
@@ -20,15 +20,12 @@
 	const char * name;
 	/* const */ unsigned int N;
-	PingPong * part;
+	PingPong & part;
 };
 
 void ?{}( PingPong & this, const char * name, unsigned int N, PingPong & part ) {
-	(this.__cor){name};
-	this.name = name;
-	this.N = N;
-	this.part = &part;
+	this.[name, N] = [name, N];  &this.part = &part;
 }
 void ?{}( PingPong & this, const char * name, unsigned int N ) {
-	this{ name, N, *(PingPong *)0 };
+	this{ name, N, *0p };								// call first constructor
 }
 void cycle( PingPong & pingpong ) {
@@ -36,11 +33,11 @@
 }
 void partner( PingPong & this, PingPong & part ) {
-	this.part = &part;
+	&this.part = &part;
 	resume( this );
 }
-void main( PingPong & pingpong ) {						// ping's starter ::main, pong's starter ping
-	for ( pingpong.N ) {								// N ping-pongs
-		sout | pingpong.name;
-		cycle( *pingpong.part );
+void main( PingPong & pingpong ) with(pingpong) {		// ping's starter ::main, pong's starter ping
+	for ( N ) {											// N ping-pongs
+		sout | name;
+		cycle( part );
 	} // for
 }
