Index: tests/coroutine/fmtLines.c
===================================================================
--- tests/coroutine/fmtLines.c	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/coroutine/fmtLines.c	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Sun Sep 17 21:56:15 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 21:58:49 2018
-// Update Count     : 47
+// Last Modified On : Wed Dec 12 22:45:36 2018
+// Update Count     : 48
 //
 
@@ -48,5 +48,5 @@
 void format( Format & fmt ) {
 	resume( fmt );
-} // prt
+} // format
 
 int main() {
Index: tests/coroutine/prodcons.c
===================================================================
--- tests/coroutine/prodcons.c	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/coroutine/prodcons.c	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Mon Sep 18 12:23:39 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 21:58:25 2018
-// Update Count     : 52
+// Last Modified On : Wed Dec 12 23:04:49 2018
+// Update Count     : 53
 //
 
@@ -24,5 +24,5 @@
 
 coroutine Prod {
-	Cons * c;
+	Cons & c;
 	int N, money, receipt;
 };
@@ -30,13 +30,11 @@
 	// 1st resume starts here
 	for ( i; N ) {										// N pairs of values
-		int p1 = random( 100 );
-		int p2 = random( 100 );
+		int p1 = random( 100 ), p2 = random( 100 );
 		sout | p1 | " " | p2;
-		int status = delivery( *c, p1, p2 );
-		sout | " $" | money;
-		sout | status;
+		int status = delivery( c, p1, p2 );
+		sout | " $" | money | nl | status;
 		receipt += 1;
 	}
-	stop( *c );
+	stop( c );
 	sout | "prod stops";
 }
@@ -47,19 +45,17 @@
 }
 void start( Prod & prod, int N, Cons &c ) {
-	prod.N = N;
-	prod.c = &c;
-	prod.receipt = 0;
+	&prod.c = &c;
+	prod.[N, receipt] = [N, 0];
 	resume( prod );										// activate main
 }
 
 coroutine Cons {
-	Prod * p;
+	Prod & p;
 	int p1, p2, status;
 	bool done;
 };
 void ?{}( Cons & cons, Prod & p ) {
-	cons.p = &p;
-	cons.status = 0;
-	cons.done = false;
+	&cons.p = &p;
+	cons.[status, done ] = [0, false];
 }
 void ^?{}( Cons & cons ) {}
@@ -68,8 +64,7 @@
 	int money = 1, receipt;
 	for ( ; ! done; ) {
-		sout | p1 | " " | p2;
-		sout | " $" | money;
+		sout | p1 | " " | p2 | nl | " $" | money;
 		status += 1;
-		receipt = payment( *p, money );
+		receipt = payment( p, money );
 		sout | " #" | receipt;
 		money += 1;
@@ -78,6 +73,5 @@
 }
 int delivery( Cons & cons, int p1, int p2 ) {
-	cons.p1 = p1;
-	cons.p2 = p2;
+	cons.[p1, p2] = [p1, p2];
 	resume( cons );										// main 1st time, then
 	return cons.status;									// cons in payment
Index: tests/io1.cfa
===================================================================
--- tests/io1.cfa	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/io1.cfa	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar  2 16:56:02 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec  4 21:40:28 2018
-// Update Count     : 106
+// Last Modified On : Wed Dec 12 18:23:44 2018
+// Update Count     : 110
 //
 
@@ -25,41 +25,35 @@
 
 	sout | "opening delimiters";
-	sout
-		 | "x (" | 1
-		 | "x [" | 2
-		 | "x {" | 3
-		 | "x =" | 4
-		 | "x $" | 5
-		 | "x £" | 6
-		 | "x ¥" | 7
-		 | "x ¡" | 8
-		 | "x ¿" | 9
-		 | "x «" | 10
-		 | nl;
+	sout | "x (" | 1 | nonl;
+	sout | "x [" | 2 | nonl;
+	sout | "x {" | 3 | nonl;
+	sout | "x =" | 4 | nonl;
+	sout | "x $" | 5 | nonl;
+	sout | "x £" | 6 | nonl;
+	sout | "x ¥" | 7 | nonl;
+	sout | "x ¡" | 8 | nonl;
+	sout | "x ¿" | 9 | nonl;
+	sout | "x «" | 10;
 
 	sout | "closing delimiters";
-	sout
-		 | 1 | ", x"
-		 | 2 | ". x"
-		 | 3 | "; x"
-		 | 4 | "! x"
-		 | 5 | "? x"
-		 | 6 | "% x"
-		 | 7 | "¢ x"
-		 | 8 | "» x"
-		 | 9 | ") x"
-		 | 10 | "] x"
-		 | 11 | "} x"
-		 | nl;
+	sout | 1 | ", x" | nonl;
+	sout | 2 | ". x" | nonl;
+	sout | 3 | "; x" | nonl;
+	sout | 4 | "! x" | nonl;
+	sout | 5 | "? x" | nonl;
+	sout | 6 | "% x" | nonl;
+	sout | 7 | "¢ x" | nonl;
+	sout | 8 | "» x" | nonl;
+	sout | 9 | ") x" | nonl;
+	sout | 10 | "] x" | nonl;
+	sout | 11 | "} x";
 
 	sout | "opening/closing delimiters";
-	sout
-		 | "x`" | 1 | "`x'" | 2
-		 | "'x\"" | 3 | "\"x:" | 4
-		 | ":x " | 5 | " x\t" | 6
-		 | "\tx\f" | 7 | "\fx\v" | 8
-		 | "\vx\n" | 9 | "\nx\r" | 10
-		 | "\rx"
-		 | nl;
+	sout | "x`" | 1 | "`x'" | 2 | nonl;
+	sout | "'x\"" | 3 | "\"x:" | 4 | nonl;
+	sout | ":x " | 5 | " x\t" | 6 | nonl;
+	sout | "\tx\f" | 7 | "\fx\v" | 8 | nonl;
+	sout | "\vx\n" | 9 | "\nx\r" | 10 | nonl;
+	sout | "\rx";
 
 	sout | "override opening/closing delimiters";
Index: tests/io2.cfa
===================================================================
--- tests/io2.cfa	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/io2.cfa	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar  2 16:56:02 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 21:51:52 2018
-// Update Count     : 109
+// Last Modified On : Wed Dec 12 16:19:15 2018
+// Update Count     : 110
 //
 
@@ -44,18 +44,18 @@
 
 	sout | "input bacis types";
-	in	 | b											// boolean
-		 | c | sc | usc									// character
-		 | si | usi | i | ui | li | uli | lli | ulli	// integral
-		 | f | d | ld									// floating point
-		 | fc | dc | ldc								// floating-point complex
-		 | cstr( s1 ) | cstr( s2, size );				// C string, length unchecked and checked
+	in	 | b;											// boolean
+	in	 | c | sc | usc;								// character
+	in	 | si | usi | i | ui | li | uli | lli | ulli;	// integral
+	in	 | f | d | ld;									// floating point
+	in	 | fc | dc | ldc;								// floating-point complex
+	in	 | cstr( s1 ) | cstr( s2, size );				// C string, length unchecked and checked
 	sout | nl;
 
 	sout | "output basic types";
-	sout | b | nl										// boolean
-		 | c | ' ' | sc | ' ' | usc | nl				// character
-		 | si | usi | i | ui | li | uli | lli | ulli | nl // integral
-		 | f | d | ld | nl								// floating point
-		 | fc | dc | ldc;								// complex
+	sout | b;											// boolean
+	sout | c | ' ' | sc | ' ' | usc;					// character
+	sout | si | usi | i | ui | li | uli | lli | ulli;	// integral
+	sout | f | d | ld;									// floating point
+	sout | fc | dc | ldc;								// complex
 	sout | nl;
 
@@ -66,11 +66,11 @@
 
 	sout | "toggle separator";
-	sout | f | "" | d | "" | ld | nl					// floating point without separator
-		 | sepDisable | fc | dc | ldc | nl				// complex without separator
-		 | fc | sepOn | dc | ldc | nl					// local separator add
-		 | sepEnable | fc | dc | ldc | nl				// complex with separator
-		 | fc | sepOff | dc | ldc | nl					// local separator removal
-		 | s1 | sepOff | s2 | nl						// local separator removal
-		 | s1 | "" | s2;								// local separator removal
+	sout | f | "" | d | "" | ld;						// floating point without separator
+	sout | sepDisable | fc | dc | ldc;					// complex without separator
+	sout | fc | sepOn | dc | ldc;						// local separator add
+	sout | sepEnable | fc | dc | ldc;					// complex with separator
+	sout | fc | sepOff | dc | ldc;						// local separator removal
+	sout | s1 | sepOff | s2;							// local separator removal
+	sout | s1 | "" | s2;								// local separator removal
 	sout | nl;
 
@@ -79,16 +79,16 @@
 	sepSet( sout, ", $" );								// change separator, maximum of 15 characters
 	sout | " to \"" | sep | "\"";
-	sout | f | d | ld | nl
-		 | fc | dc | ldc | nl
-		 | s1 | s2 | nl
-		 | t1 | t2;										// print tuple
+	sout | f | d | ld;
+	sout | fc | dc | ldc;
+	sout | s1 | s2;
+	sout | t1 | t2;										// print tuple
 	sout | nl;
 	sout | "from \"" | sep | "\" " | nonl;
 	sepSet( sout, " " );								// restore separator
 	sout | "to \"" | sep | "\"";
-	sout | f | d | ld | nl
-		 | fc | dc | ldc | nl
-		 | s1 | s2 | nl
-		 | t1 | t2;										// print tuple
+	sout | f | d | ld;
+	sout | fc | dc | ldc;
+	sout | s1 | s2;
+	sout | t1 | t2;										// print tuple
 	sout | nl;
 
Index: tests/math1.cfa
===================================================================
--- tests/math1.cfa	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/math1.cfa	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Fri Apr 22 14:59:21 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 10:24:31 2018
-// Update Count     : 88
+// Last Modified On : Wed Dec 12 16:28:49 2018
+// Update Count     : 89
 //
 
@@ -22,5 +22,6 @@
 	long double l;
 
-	sout | "fmod:" | 5.0F % -2.0F | fmod( 5.0F, -2.0F ) | 5.0D % -2.0D | fmod( 5.0D, -2.0D ) | 5.0L % -2.0L | fmod( 5.0L, -2.0L );
+	sout | "fmod:" | 5.0F % -2.0F | fmod( 5.0F, -2.0F ) | 5.0D % -2.0D | nonl;
+	sout | fmod( 5.0D, -2.0D ) | 5.0L % -2.0L | fmod( 5.0L, -2.0L );
 	sout | "remainder:" | remainder( 2.0F, 3.0F ) | remainder( 2.0D, 3.0D ) | remainder( 2.0L, 3.0L );
 	int quot;
@@ -38,8 +39,10 @@
 	//---------------------- Exponential ----------------------
 
-	sout | "exp:" | exp( 1.0F ) | exp( 1.0D ) | exp( 1.0L ) | exp( 1.0F+1.0FI ) | exp( 1.0D+1.0DI ) | exp( 1.0DL+1.0LI );
+	sout | "exp:" | exp( 1.0F ) | exp( 1.0D ) | exp( 1.0L ) | nonl;
+	sout | exp( 1.0F+1.0FI ) | exp( 1.0D+1.0DI ) | exp( 1.0DL+1.0LI );
 	sout | "exp2:" | exp2( 1.0F ) | exp2( 1.0D ) | exp2( 1.0L );
 	sout | "expm1:" | expm1( 1.0F ) | expm1( 1.0D ) | expm1( 1.0L );
-	sout | "pow:" | pow( 1.0F, 1.0F ) | pow( 1.0D, 1.0D ) | pow( 1.0L, 1.0L ) | pow( 1.0F+1.0FI, 1.0F+1.0FI ) | pow( 1.0D+1.0DI, 1.0D+1.0DI ) | pow( 1.5DL+1.5LI, 1.5DL+1.5LI );
+	sout | "pow:" | pow( 1.0F, 1.0F ) | pow( 1.0D, 1.0D ) | pow( 1.0L, 1.0L ) | nonl;
+	sout | pow( 1.0F+1.0FI, 1.0F+1.0FI ) | pow( 1.0D+1.0DI, 1.0D+1.0DI ) | pow( 1.5DL+1.5LI, 1.5DL+1.5LI );
 
 	int b = 4;
@@ -47,5 +50,6 @@
     b \= e;
     sout | "\\" | b | b \ e;
-    sout | "\\" | 'a' \ 3u | 2 \ 8u | 4 \ 3u | -4 \ 3u | 4 \ -3 | -4 \ -3 | 4.0 \ 2.1 | (1.0f+2.0fi) \ (3.0f+2.0fi);
+    sout | "\\" | 'a' \ 3u | 2 \ 8u | 4 \ 3u | -4 \ 3u | nonl;
+	sout | 4 \ -3 | -4 \ -3 | 4.0 \ 2.1 | (1.0f+2.0fi) \ (3.0f+2.0fi);
 } // main
 
Index: tests/math2.cfa
===================================================================
--- tests/math2.cfa	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/math2.cfa	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Fri Apr 22 14:59:21 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec  4 23:11:12 2018
-// Update Count     : 85
+// Last Modified On : Wed Dec 12 16:11:35 2018
+// Update Count     : 87
 //
 
@@ -24,5 +24,6 @@
 	//---------------------- Logarithm ----------------------
 
-	sout | "log:" | log( 1.0F ) | log( 1.0D ) | log( 1.0L ) | log( 1.0F+1.0FI ) | log( 1.0D+1.0DI ) | log( 1.0DL+1.0LI );
+	sout | "log:" | log( 1.0F ) | log( 1.0D ) | log( 1.0L ) | nonl;
+	sout | log( 1.0F+1.0FI ) | log( 1.0D+1.0DI ) | log( 1.0DL+1.0LI );
 	sout | "log2:" | log2( 8.0F ) | log2( 8.0D ) | log2( 8.0L );
 	sout | "log10:" | log10( 100.0F ) | log10( 100.0D ) | log10( 100.0L );
@@ -31,5 +32,6 @@
 	sout | "logb:" | logb( 8.0F ) | logb( 8.0D ) | logb( 8.0L );
 
-	sout | "sqrt:" | sqrt( 1.0F ) | sqrt( 1.0D ) | sqrt( 1.0L ) | sqrt( 1.0F+1.0FI ) | sqrt( 1.0D+1.0DI ) | sqrt( 1.0DL+1.0LI );
+	sout | "sqrt:" | sqrt( 1.0F ) | sqrt( 1.0D ) | sqrt( 1.0L ) | nonl;
+	sout | sqrt( 1.0F+1.0FI ) | sqrt( 1.0D+1.0DI ) | sqrt( 1.0DL+1.0LI );
 	sout | "cbrt:" | cbrt( 27.0F ) | cbrt( 27.0D ) | cbrt( 27.0L );
 	sout | "hypot:" | hypot( 1.0F, -1.0F ) | hypot( 1.0D, -1.0D ) | hypot( 1.0L, -1.0L );
@@ -37,10 +39,16 @@
 	//---------------------- Trigonometric ----------------------
 
-	sout | "sin:" | sin( 1.0F ) | sin( 1.0D ) | sin( 1.0L ) | sin( 1.0F+1.0FI ) | sin( 1.0D+1.0DI ) | sin( 1.0DL+1.0LI );
-	sout | "cos:" | cos( 1.0F ) | cos( 1.0D ) | cos( 1.0L ) | cos( 1.0F+1.0FI ) | cos( 1.0D+1.0DI ) | cos( 1.0DL+1.0LI );
-	sout | "tan:" | tan( 1.0F ) | tan( 1.0D ) | tan( 1.0L ) | tan( 1.0F+1.0FI ) | tan( 1.0D+1.0DI ) | tan( 1.0DL+1.0LI );
-	sout | "asin:" | asin( 1.0F ) | asin( 1.0D ) | asin( 1.0L ) | asin( 1.0F+1.0FI ) | asin( 1.0D+1.0DI ) | asin( 1.0DL+1.0LI );
-	sout | "acos:" | acos( 1.0F ) | acos( 1.0D ) | acos( 1.0L ) | acos( 1.0F+1.0FI ) | acos( 1.0D+1.0DI ) | acos( 1.0DL+1.0LI );
-	sout | "atan:" | atan( 1.0F ) | atan( 1.0D ) | atan( 1.0L ) | atan( 1.0F+1.0FI ) | atan( 1.0D+1.0DI ) | atan( 1.0DL+1.0LI );
+	sout | "sin:" | sin( 1.0F ) | sin( 1.0D ) | sin( 1.0L ) | nonl;
+	sout | sin( 1.0F+1.0FI ) | sin( 1.0D+1.0DI ) | sin( 1.0DL+1.0LI );
+	sout | "cos:" | cos( 1.0F ) | cos( 1.0D ) | cos( 1.0L ) | nonl;
+	sout | cos( 1.0F+1.0FI ) | cos( 1.0D+1.0DI ) | cos( 1.0DL+1.0LI );
+	sout | "tan:" | tan( 1.0F ) | tan( 1.0D ) | tan( 1.0L ) | nonl;
+	sout | tan( 1.0F+1.0FI ) | tan( 1.0D+1.0DI ) | tan( 1.0DL+1.0LI );
+	sout | "asin:" | asin( 1.0F ) | asin( 1.0D ) | asin( 1.0L ) | nonl;
+	sout | asin( 1.0F+1.0FI ) | asin( 1.0D+1.0DI ) | asin( 1.0DL+1.0LI );
+	sout | "acos:" | acos( 1.0F ) | acos( 1.0D ) | acos( 1.0L ) | nonl;
+	sout | acos( 1.0F+1.0FI ) | acos( 1.0D+1.0DI ) | acos( 1.0DL+1.0LI );
+	sout | "atan:" | atan( 1.0F ) | atan( 1.0D ) | atan( 1.0L ) | nonl;
+	sout | atan( 1.0F+1.0FI ) | atan( 1.0D+1.0DI ) | atan( 1.0DL+1.0LI );
 	sout | "atan2:" | atan2( 1.0F, 1.0F ) | atan2( 1.0D, 1.0D ) | atan2( 1.0L, 1.0L ) | nonl;
 	sout | "atan:" | atan( 1.0F, 1.0F ) | atan( 1.0D, 1.0D ) | atan( 1.0L, 1.0L );
Index: tests/math3.cfa
===================================================================
--- tests/math3.cfa	(revision 014bb94951ba0f43292787ff7d1b0f2fd6733947)
+++ tests/math3.cfa	(revision 9d6497a47bcfdbcddf175134952cf5d2f8da6196)
@@ -10,6 +10,6 @@
 // Created On       : Fri Apr 22 14:59:21 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 10:15:49 2018
-// Update Count     : 85
+// Last Modified On : Wed Dec 12 16:30:41 2018
+// Update Count     : 86
 //
 
@@ -24,10 +24,16 @@
 	//---------------------- Hyperbolic ----------------------
 
-	sout | "sinh:" | sinh( 1.0F ) | sinh( 1.0D ) | sinh( 1.0L ) | sinh( 1.0F+1.0FI ) | sinh( 1.0D+1.0DI ) | sinh( 1.0DL+1.0LI );
-	sout | "cosh:" | cosh( 1.0F ) | cosh( 1.0D ) | cosh( 1.0L ) | cosh( 1.0F+1.0FI ) | cosh( 1.0D+1.0DI ) | cosh( 1.0DL+1.0LI );
-	sout | "tanh:" | tanh( 1.0F ) | tanh( 1.0D ) | tanh( 1.0L ) | tanh( 1.0F+1.0FI ) | tanh( 1.0D+1.0DI ) | tanh( 1.0DL+1.0LI );
-	sout | "acosh:" | acosh( 1.0F ) | acosh( 1.0D ) | acosh( 1.0L ) | acosh( 1.0F+1.0FI ) | acosh( 1.0D+1.0DI ) | acosh( 1.0DL+1.0LI );
-	sout | "asinh:" | asinh( 1.0F ) | asinh( 1.0D ) | asinh( 1.0L ) | asinh( 1.0F+1.0FI ) | asinh( 1.0D+1.0DI ) | asinh( 1.0DL+1.0LI );
-	sout | "atanh:" | atanh( 1.0F ) | atanh( 1.0D ) | atanh( 1.0L ) | atanh( 1.0F+1.0FI ) | atanh( 1.0D+1.0DI ) | atanh( 1.0DL+1.0LI );
+	sout | "sinh:" | sinh( 1.0F ) | sinh( 1.0D ) | sinh( 1.0L ) | nonl;
+	sout | sinh( 1.0F+1.0FI ) | sinh( 1.0D+1.0DI ) | sinh( 1.0DL+1.0LI );
+	sout | "cosh:" | cosh( 1.0F ) | cosh( 1.0D ) | cosh( 1.0L ) | nonl;
+	sout | cosh( 1.0F+1.0FI ) | cosh( 1.0D+1.0DI ) | cosh( 1.0DL+1.0LI );
+	sout | "tanh:" | tanh( 1.0F ) | tanh( 1.0D ) | tanh( 1.0L ) | nonl;
+	sout | tanh( 1.0F+1.0FI ) | tanh( 1.0D+1.0DI ) | tanh( 1.0DL+1.0LI );
+	sout | "acosh:" | acosh( 1.0F ) | acosh( 1.0D ) | acosh( 1.0L ) | nonl;
+	sout | acosh( 1.0F+1.0FI ) | acosh( 1.0D+1.0DI ) | acosh( 1.0DL+1.0LI );
+	sout | "asinh:" | asinh( 1.0F ) | asinh( 1.0D ) | asinh( 1.0L ) | nonl;
+	sout | asinh( 1.0F+1.0FI ) | asinh( 1.0D+1.0DI ) | asinh( 1.0DL+1.0LI );
+	sout | "atanh:" | atanh( 1.0F ) | atanh( 1.0D ) | atanh( 1.0L ) | nonl;
+	sout | atanh( 1.0F+1.0FI ) | atanh( 1.0D+1.0DI ) | atanh( 1.0DL+1.0LI );
 
 	//---------------------- Error / Gamma ----------------------
