Index: libcfa/src/bits/locks.hfa
===================================================================
--- libcfa/src/bits/locks.hfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/bits/locks.hfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Tue Oct 31 15:14:38 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Mar 30 18:18:13 2018
-// Update Count     : 9
+// Last Modified On : Sat Aug 11 15:42:24 2018
+// Update Count     : 10
 //
 
@@ -50,5 +50,5 @@
 	struct {
 		// Align lock on 128-bit boundary
-		__ALIGN__ volatile _Bool lock;
+		__ALIGN__ volatile bool lock;
 	};
 	#ifdef __CFA_DEBUG__
@@ -79,6 +79,6 @@
 
 	// Lock the spinlock, return false if already acquired
-	static inline _Bool try_lock  ( __spinlock_t & this __cfaabi_dbg_ctx_param2 ) {
-		_Bool result = (this.lock == 0) && (__atomic_test_and_set( &this.lock, __ATOMIC_ACQUIRE ) == 0);
+	static inline bool try_lock  ( __spinlock_t & this __cfaabi_dbg_ctx_param2 ) {
+		bool result = (this.lock == 0) && (__atomic_test_and_set( &this.lock, __ATOMIC_ACQUIRE ) == 0);
 		if( result ) {
 			disable_interrupts();
Index: libcfa/src/fstream.cfa
===================================================================
--- libcfa/src/fstream.cfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/fstream.cfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun  5 17:02:56 2018
-// Update Count     : 281
+// Last Modified On : Fri Aug 10 18:19:40 2018
+// Update Count     : 284
 //
 
@@ -27,5 +27,5 @@
 #define IO_MSG "I/O error: "
 
-void ?{}( ofstream & os, void * file, _Bool sepDefault, _Bool sepOnOff, const char * separator, const char * tupleSeparator ) {
+void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, const char * separator, const char * tupleSeparator ) {
 	os.file = file;
 	os.sepDefault = sepDefault;
@@ -37,11 +37,11 @@
 
 // private
-_Bool sepPrt( ofstream & os ) { setNL( os, false ); return os.sepOnOff; }
+bool sepPrt( ofstream & os ) { setNL( os, false ); return os.sepOnOff; }
 void sepReset( ofstream & os ) { os.sepOnOff = os.sepDefault; }
-void sepReset( ofstream & os, _Bool reset ) { os.sepDefault = reset; os.sepOnOff = os.sepDefault; }
+void sepReset( ofstream & os, bool reset ) { os.sepDefault = reset; os.sepOnOff = os.sepDefault; }
 const char * sepGetCur( ofstream & os ) { return os.sepCur; }
 void sepSetCur( ofstream & os, const char * sepCur ) { os.sepCur = sepCur; }
-_Bool getNL( ofstream & os ) { return os.sawNL; }
-void setNL( ofstream & os, _Bool state ) { os.sawNL = state; }
+bool getNL( ofstream & os ) { return os.sawNL; }
+void setNL( ofstream & os, bool state ) { os.sawNL = state; }
 
 // public
@@ -58,6 +58,6 @@
 void sepOff( ofstream & os ) { os.sepOnOff = false; }
 
-_Bool sepDisable( ofstream & os ) {
-	_Bool temp = os.sepDefault;
+bool sepDisable( ofstream & os ) {
+	bool temp = os.sepDefault;
 	os.sepDefault = false;
 	sepReset( os );
@@ -65,6 +65,6 @@
 } // sepDisable
 
-_Bool sepEnable( ofstream & os ) {
-	_Bool temp = os.sepDefault;
+bool sepEnable( ofstream & os ) {
+	bool temp = os.sepDefault;
 	os.sepDefault = true;
 	if ( os.sepOnOff ) sepReset( os );					// start of line ?
@@ -96,9 +96,11 @@
 void open( ofstream & os, const char * name, const char * mode ) {
 	FILE *file = fopen( name, mode );
-	// if ( file == 0 ) {									// do not change unless successful
-	// 	fprintf( stderr, IO_MSG "open output file \"%s\", ", name );
-	// 	perror( 0 );
-	// 	exit( EXIT_FAILURE );
-	// } // if
+	#ifdef __CFA_DEBUG__
+	if ( file == 0 ) {
+		fprintf( stderr, IO_MSG "open output file \"%s\", ", name );
+		perror( 0 );
+		exit( EXIT_FAILURE );
+	} // if
+	#endif // __CFA_DEBUG__
 	(os){ file, true, false, " ", ", " };
 } // open
@@ -178,9 +180,11 @@
 void open( ifstream & is, const char * name, const char * mode ) {
 	FILE *file = fopen( name, mode );
-	// if ( file == 0 ) {									// do not change unless successful
-	// 	fprintf( stderr, IO_MSG "open input file \"%s\", ", name );
-	// 	perror( 0 );
-	// 	exit( EXIT_FAILURE );
-	// } // if
+	#ifdef __CFA_DEBUG__
+	if ( file == 0 ) {
+		fprintf( stderr, IO_MSG "open input file \"%s\", ", name );
+		perror( 0 );
+		exit( EXIT_FAILURE );
+	} // if
+	#endif // __CFA_DEBUG__
 	is.file = file;
 } // open
Index: libcfa/src/fstream.hfa
===================================================================
--- libcfa/src/fstream.hfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/fstream.hfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun  5 10:20:25 2018
-// Update Count     : 131
+// Last Modified On : Sat Aug 11 13:54:27 2018
+// Update Count     : 132
 //
 
@@ -21,7 +21,7 @@
 struct ofstream {
 	void * file;
-	_Bool sepDefault;
-	_Bool sepOnOff;
-	_Bool sawNL;
+	bool sepDefault;
+	bool sepOnOff;
+	bool sawNL;
 	const char * sepCur;
 	char separator[sepSize];
@@ -30,17 +30,17 @@
 
 // private
-_Bool sepPrt( ofstream & );
+bool sepPrt( ofstream & );
 void sepReset( ofstream & );
-void sepReset( ofstream &, _Bool );
+void sepReset( ofstream &, bool );
 const char * sepGetCur( ofstream & );
 void sepSetCur( ofstream &, const char * );
-_Bool getNL( ofstream & );
-void setNL( ofstream &, _Bool );
+bool getNL( ofstream & );
+void setNL( ofstream &, bool );
 
 // public
 void sepOn( ofstream & );
 void sepOff( ofstream & );
-_Bool sepDisable( ofstream & );
-_Bool sepEnable( ofstream & );
+bool sepDisable( ofstream & );
+bool sepEnable( ofstream & );
 
 const char * sepGet( ofstream & );
Index: libcfa/src/heap.cfa
===================================================================
--- libcfa/src/heap.cfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/heap.cfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Tue Dec 19 21:58:35 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul 31 18:08:50 2018
-// Update Count     : 470
+// Last Modified On : Sat Aug 11 08:22:16 2018
+// Update Count     : 495
 //
 
@@ -75,18 +75,18 @@
 
 
-static _Bool traceHeap = false;
-
-inline _Bool traceHeap() {
+static bool traceHeap = false;
+
+inline bool traceHeap() {
 	return traceHeap;
 } // traceHeap
 
-_Bool traceHeapOn() {
-	_Bool temp = traceHeap;
+bool traceHeapOn() {
+	bool temp = traceHeap;
 	traceHeap = true;
 	return temp;
 } // traceHeapOn
 
-_Bool traceHeapOff() {
-	_Bool temp = traceHeap;
+bool traceHeapOff() {
+	bool temp = traceHeap;
 	traceHeap = false;
 	return temp;
@@ -94,18 +94,18 @@
 
 
-static _Bool checkFree = false;
-
-inline _Bool checkFree() {
+static bool checkFree = false;
+
+inline bool checkFree() {
 	return checkFree;
 } // checkFree
 
-_Bool checkFreeOn() {
-	_Bool temp = checkFree;
+bool checkFreeOn() {
+	bool temp = checkFree;
 	checkFree = true;
 	return temp;
 } // checkFreeOn
 
-_Bool checkFreeOff() {
-	_Bool temp = checkFree;
+bool checkFreeOff() {
+	bool temp = checkFree;
 	checkFree = false;
 	return temp;
@@ -113,18 +113,18 @@
 
 
-// static _Bool traceHeapTerm = false;
-
-// inline _Bool traceHeapTerm() {
+// static bool traceHeapTerm = false;
+
+// inline bool traceHeapTerm() {
 // 	return traceHeapTerm;
 // } // traceHeapTerm
 
-// _Bool traceHeapTermOn() {
-// 	_Bool temp = traceHeapTerm;
+// bool traceHeapTermOn() {
+// 	bool temp = traceHeapTerm;
 // 	traceHeapTerm = true;
 // 	return temp;
 // } // traceHeapTermOn
 
-// _Bool traceHeapTermOff() {
-// 	_Bool temp = traceHeapTerm;
+// bool traceHeapTermOff() {
+// 	bool temp = traceHeapTerm;
 // 	traceHeapTerm = false;
 // 	return temp;
@@ -133,15 +133,13 @@
 
 #ifdef __CFA_DEBUG__
-static unsigned int allocfree;							// running total of allocations minus frees
-static unsigned int appStart;							// storage allocation when application starts
+static unsigned int allocFree;							// running total of allocations minus frees
 
 static void checkUnfreed() {
-	unsigned int total = allocfree - appStart;
-    if ( total != 0 ) {
+    if ( allocFree != 0 ) {
 		// DO NOT USE STREAMS AS THEY MAY BE UNAVAILABLE AT THIS POINT.
 		// char helpText[512];
-		// int len = snprintf( helpText, 512, "CFA warning (UNIX pid:%ld) : program terminating with %u(0x%x) bytes of storage allocated but not freed.\n"
+		// int len = snprintf( helpText, sizeof(helpText), "CFA warning (UNIX pid:%ld) : program terminating with %u(0x%x) bytes of storage allocated but not freed.\n"
 		// 					"Possible cause is unfreed storage allocated by the program or system/library routines called from the program.\n",
-		// 					(long int)getpid(), total, total ); // always print the UNIX pid
+		// 					(long int)getpid(), allocFree, allocFree ); // always print the UNIX pid
 		// __cfaabi_dbg_bits_write( helpText, len );
     } // if
@@ -150,8 +148,9 @@
 extern "C" {
 void heapAppStart() {									// called by __cfaabi_appready_startup
-	appStart = allocfree;
+	allocFree = 0;
 } // heapAppStart
 
 void heapAppStop() {									// called by __cfaabi_appready_startdown
+	fclose( stdin ); fclose( stdout );
 	checkUnfreed();
 } // heapAppStop
@@ -191,5 +190,5 @@
 						#endif // LOCKFREE
 					};
-				} real;
+				} real; // RealHeader
 				struct FakeHeader {
 					#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
@@ -202,6 +201,6 @@
 					uint32_t alignment;					// low-order bits of home/blockSize used for tricks
 					#endif // __ORDER_BIG_ENDIAN__
-				} fake;
-			} kind;
+				} fake; // FakeHeader
+			} kind; // Kind
 	    } header; // Header
 	    char pad[ALIGN - sizeof( Header )];
@@ -264,10 +263,10 @@
 
 #ifdef __CFA_DEBUG__
-static _Bool heapBoot = 0;								// detect recursion during boot
+static bool heapBoot = 0;								// detect recursion during boot
 #endif // __CFA_DEBUG__
 static HeapManager heapManager __attribute__(( aligned (128) )) @= {}; // size of cache line to prevent false sharing
 
 
-static inline _Bool setMmapStart( size_t value ) {
+static inline bool setMmapStart( size_t value ) {
     if ( value < pageSize || bucketSizes[NoBucketSizes - 1] < value ) return true;
     mmapStart = value;									// set global
@@ -363,5 +362,5 @@
 static void printStats() {
     char helpText[512];
-	__cfaabi_dbg_bits_print_buffer( helpText, 512,
+	__cfaabi_dbg_bits_print_buffer( helpText, sizeof(helpText),
 			"\nHeap statistics:\n"
 			"  malloc: calls %u / storage %llu\n"
@@ -389,5 +388,5 @@
 static int printStatsXML( FILE * stream ) {
     char helpText[512];
-    int len = snprintf( helpText, 512,
+    int len = snprintf( helpText, sizeof(helpText),
 						"<malloc version=\"1\">\n"
 						"<heap nr=\"0\">\n"
@@ -433,5 +432,5 @@
 
 
-static inline _Bool setHeapExpand( size_t value ) {
+static inline bool setHeapExpand( size_t value ) {
     if ( heapExpand < pageSize ) return true;
     heapExpand = value;
@@ -440,5 +439,5 @@
 
 
-static inline void checkHeader( _Bool check, const char * name, void * addr ) {
+static inline void checkHeader( bool check, const char * name, void * addr ) {
     if ( unlikely( check ) ) {							// bad address ?
 		abort( "Attempt to %s storage %p with address outside the heap.\n"
@@ -463,5 +462,5 @@
 #define headerAddr( addr ) ((HeapManager.Storage.Header *)( (char *)addr - sizeof(HeapManager.Storage) ))
 
-static inline _Bool headers( const char * name, void * addr, HeapManager.Storage.Header *& header, HeapManager.FreeHeader *& freeElem, size_t & size, size_t & alignment ) with ( heapManager ) {
+static inline bool headers( const char * name, void * addr, HeapManager.Storage.Header *& header, HeapManager.FreeHeader *& freeElem, size_t & size, size_t & alignment ) with ( heapManager ) {
     header = headerAddr( addr );
 
@@ -589,5 +588,5 @@
 	#ifdef __CFA_DEBUG__
     assert( ((uintptr_t)area & (libAlign() - 1)) == 0 ); // minimum alignment ?
-    __atomic_add_fetch( &allocfree, tsize, __ATOMIC_SEQ_CST );
+    __atomic_add_fetch( &allocFree, tsize, __ATOMIC_SEQ_CST );
 	if ( traceHeap() ) {
 		enum { BufferSize = 64 };
@@ -646,9 +645,8 @@
 
 	#ifdef __CFA_DEBUG__
-    __atomic_add_fetch( &allocfree, -size, __ATOMIC_SEQ_CST );
+    __atomic_add_fetch( &allocFree, -size, __ATOMIC_SEQ_CST );
     if ( traceHeap() ) {
-		enum { BufferSize = 64 };
-		char helpText[BufferSize];
-		int len = snprintf( helpText, BufferSize, "Free( %p ) size:%zu\n", addr, size );
+		char helpText[64];
+		int len = snprintf( helpText, sizeof(helpText), "Free( %p ) size:%zu\n", addr, size );
 		__cfaabi_dbg_bits_write( helpText, len );
     } // if
@@ -758,5 +756,5 @@
 		HeapManager.FreeHeader * freeElem;
 		size_t asize, alignment;
-		_Bool mapped __attribute__(( unused )) = headers( "calloc", area, header, freeElem, asize, alignment );
+		bool mapped __attribute__(( unused )) = headers( "calloc", area, header, freeElem, asize, alignment );
 		#ifndef __CFA_DEBUG__
 		// Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero.
@@ -781,5 +779,5 @@
 		HeapManager.FreeHeader * freeElem;
 		size_t asize;
-		_Bool mapped __attribute__(( unused )) = headers( "cmemalign", area, header, freeElem, asize, alignment );
+		bool mapped __attribute__(( unused )) = headers( "cmemalign", area, header, freeElem, asize, alignment );
 		#ifndef __CFA_DEBUG__
 		// Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero.
@@ -826,5 +824,5 @@
 		if ( unlikely( header->kind.real.blockSize & 2 ) ) { // previous request zero fill (calloc/cmemalign) ?
 			assert( (header->kind.real.blockSize & 1) == 0 );
-			_Bool mapped __attribute__(( unused )) = headers( "realloc", area, header, freeElem, asize, alignment );
+			bool mapped __attribute__(( unused )) = headers( "realloc", area, header, freeElem, asize, alignment );
 			#ifndef __CFA_DEBUG__
 			// Mapped storage is zero filled, but in debug mode mapped memory is scrubbed in doMalloc, so it has to be reset to zero.
@@ -889,4 +887,5 @@
     } // free
 
+
     int mallopt( int option, int value ) {
 		choose( option ) {
@@ -929,5 +928,5 @@
 
 
-    _Bool malloc_zero_fill( void * addr ) {
+    bool malloc_zero_fill( void * addr ) {
 		if ( unlikely( addr == 0 ) ) return false;		// null allocation is not zero fill
 		HeapManager.Storage.Header * header = (HeapManager.Storage.Header *)( (char *)addr - sizeof(HeapManager.Storage) );
Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/iostream.cfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun  2 08:24:56 2018
-// Update Count     : 471
+// Last Modified On : Sat Aug 11 13:56:43 2018
+// Update Count     : 473
 //
 
@@ -27,5 +27,5 @@
 
 forall( dtype ostype | ostream( ostype ) ) {
-	ostype & ?|?( ostype & os, _Bool b ) {
+	ostype & ?|?( ostype & os, bool b ) {
 		if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
 		fmt( os, "%s", b ? "true" : "false" );
@@ -275,5 +275,5 @@
 
 forall( dtype istype | istream( istype ) ) {
-	istype & ?|?( istype & is, _Bool & b ) {
+	istype & ?|?( istype & is, bool & b ) {
 		char val[6];
 		fmt( is, "%5s", val );
@@ -281,5 +281,5 @@
 		else if ( strcmp( val, "false" ) == 0 ) b = false;
 		else {
-			fprintf( stderr, "invalid _Bool constant\n" );
+			fprintf( stderr, "invalid Boolean constant\n" );
 			abort();
 		} // if
Index: libcfa/src/iostream.hfa
===================================================================
--- libcfa/src/iostream.hfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/iostream.hfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jul  1 12:12:22 2018
-// Update Count     : 155
+// Last Modified On : Sat Aug 11 08:22:49 2018
+// Update Count     : 156
 //
 
@@ -20,16 +20,16 @@
 trait ostream( dtype ostype ) {
 	// private
-	_Bool sepPrt( ostype & );							// return separator state (on/off)
+	bool sepPrt( ostype & );							// return separator state (on/off)
 	void sepReset( ostype & );							// set separator state to default state
-	void sepReset( ostype &, _Bool );					// set separator and default state
+	void sepReset( ostype &, bool );					// set separator and default state
 	const char * sepGetCur( ostype & );					// get current separator string
 	void sepSetCur( ostype &, const char * );			// set current separator string
-	_Bool getNL( ostype & );							// check newline
-	void setNL( ostype &, _Bool );						// saw newline
+	bool getNL( ostype & );							// check newline
+	void setNL( ostype &, bool );						// saw newline
 	// public
 	void sepOn( ostype & );								// turn separator state on
 	void sepOff( ostype & );							// turn separator state off
-	_Bool sepDisable( ostype & );						// set default state to off, and return previous state
-	_Bool sepEnable( ostype & );						// set default state to on, and return previous state
+	bool sepDisable( ostype & );						// set default state to off, and return previous state
+	bool sepEnable( ostype & );						// set default state to on, and return previous state
 
 	const char * sepGet( ostype & );					// get separator string
@@ -57,5 +57,5 @@
 
 forall( dtype ostype | ostream( ostype ) ) {
-	ostype & ?|?( ostype &, _Bool );
+	ostype & ?|?( ostype &, bool );
 
 	ostype & ?|?( ostype &, char );
@@ -127,5 +127,5 @@
 
 forall( dtype istype | istream( istype ) ) {
-	istype & ?|?( istype &, _Bool & );
+	istype & ?|?( istype &, bool & );
 
 	istype & ?|?( istype &, char & );
Index: libcfa/src/stdhdr/malloc.h
===================================================================
--- libcfa/src/stdhdr/malloc.h	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/stdhdr/malloc.h	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jul 20 15:58:16 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul 31 10:01:10 2018
-// Update Count     : 9
+// Last Modified On : Sat Aug 11 09:06:31 2018
+// Update Count     : 10
 // 
 
@@ -18,19 +18,19 @@
 size_t default_heap_expansion();
 
-_Bool traceHeap();
-_Bool traceHeapOn();
-_Bool traceHeapOff();
+bool traceHeap();
+bool traceHeapOn();
+bool traceHeapOff();
 
-_Bool traceHeapTerm();
-_Bool traceHeapTermOn();
-_Bool traceHeapTermOff();
+bool traceHeapTerm();
+bool traceHeapTermOn();
+bool traceHeapTermOff();
 
-_Bool checkFree();
-_Bool checkFreeOn();
-_Bool checkFreeOff();
+bool checkFree();
+bool checkFreeOn();
+bool checkFreeOff();
 
 extern "C" {
 size_t malloc_alignment( void * );
-_Bool malloc_zero_fill( void * );
+bool malloc_zero_fill( void * );
 int malloc_stats_fd( int fd );
 void * cmemalign( size_t alignment, size_t noOfElems, size_t elemSize );
Index: libcfa/src/time.hfa
===================================================================
--- libcfa/src/time.hfa	(revision 9aa9126e40385076b70bce81cfd5925a9c8b56ee)
+++ libcfa/src/time.hfa	(revision e966ec0462ab15e68282ef0183cefebea1c12c0d)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar 14 23:18:57 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jul  2 21:28:38 2018
-// Update Count     : 641
+// Last Modified On : Sat Aug 11 13:55:33 2018
+// Update Count     : 642
 //
 
@@ -52,17 +52,17 @@
 	Duration ?%=?( Duration & lhs, Duration rhs ) { lhs = lhs % rhs; return lhs; }
 
-	_Bool ?==?( Duration lhs, Duration rhs ) { return lhs.tv == rhs.tv; }
-	_Bool ?!=?( Duration lhs, Duration rhs ) { return lhs.tv != rhs.tv; }
-	_Bool ?<? ( Duration lhs, Duration rhs ) { return lhs.tv <  rhs.tv; }
-	_Bool ?<=?( Duration lhs, Duration rhs ) { return lhs.tv <= rhs.tv; }
-	_Bool ?>? ( Duration lhs, Duration rhs ) { return lhs.tv >  rhs.tv; }
-	_Bool ?>=?( Duration lhs, Duration rhs ) { return lhs.tv >= rhs.tv; }
-
-	_Bool ?==?( Duration lhs, zero_t ) { return lhs.tv == 0; }
-	_Bool ?!=?( Duration lhs, zero_t ) { return lhs.tv != 0; }
-	_Bool ?<? ( Duration lhs, zero_t ) { return lhs.tv <  0; }
-	_Bool ?<=?( Duration lhs, zero_t ) { return lhs.tv <= 0; }
-	_Bool ?>? ( Duration lhs, zero_t ) { return lhs.tv >  0; }
-	_Bool ?>=?( Duration lhs, zero_t ) { return lhs.tv >= 0; }
+	bool ?==?( Duration lhs, Duration rhs ) { return lhs.tv == rhs.tv; }
+	bool ?!=?( Duration lhs, Duration rhs ) { return lhs.tv != rhs.tv; }
+	bool ?<? ( Duration lhs, Duration rhs ) { return lhs.tv <  rhs.tv; }
+	bool ?<=?( Duration lhs, Duration rhs ) { return lhs.tv <= rhs.tv; }
+	bool ?>? ( Duration lhs, Duration rhs ) { return lhs.tv >  rhs.tv; }
+	bool ?>=?( Duration lhs, Duration rhs ) { return lhs.tv >= rhs.tv; }
+
+	bool ?==?( Duration lhs, zero_t ) { return lhs.tv == 0; }
+	bool ?!=?( Duration lhs, zero_t ) { return lhs.tv != 0; }
+	bool ?<? ( Duration lhs, zero_t ) { return lhs.tv <  0; }
+	bool ?<=?( Duration lhs, zero_t ) { return lhs.tv <= 0; }
+	bool ?>? ( Duration lhs, zero_t ) { return lhs.tv >  0; }
+	bool ?>=?( Duration lhs, zero_t ) { return lhs.tv >= 0; }
 
 	Duration abs( Duration rhs ) { return rhs.tv >= 0 ? rhs : -rhs; }
@@ -106,6 +106,6 @@
 	timeval ?+?( timeval & lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_usec + rhs.tv_usec }; }
 	timeval ?-?( timeval & lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_usec - rhs.tv_usec }; }
-	_Bool ?==?( timeval lhs, timeval rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_usec == rhs.tv_usec; }
-	_Bool ?!=?( timeval lhs, timeval rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_usec != rhs.tv_usec; }
+	bool ?==?( timeval lhs, timeval rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_usec == rhs.tv_usec; }
+	bool ?!=?( timeval lhs, timeval rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_usec != rhs.tv_usec; }
 } // distribution
 
@@ -121,6 +121,6 @@
 	timespec ?+?( timespec & lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_nsec + rhs.tv_nsec }; }
 	timespec ?-?( timespec & lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_nsec - rhs.tv_nsec }; }
-	_Bool ?==?( timespec lhs, timespec rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_nsec == rhs.tv_nsec; }
-	_Bool ?!=?( timespec lhs, timespec rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_nsec != rhs.tv_nsec; }
+	bool ?==?( timespec lhs, timespec rhs ) { return lhs.tv_sec == rhs.tv_sec && lhs.tv_nsec == rhs.tv_nsec; }
+	bool ?!=?( timespec lhs, timespec rhs ) { return lhs.tv_sec != rhs.tv_sec || lhs.tv_nsec != rhs.tv_nsec; }
 } // distribution
 
@@ -166,10 +166,10 @@
 	Time ?-?( Time lhs, Duration rhs ) { return (Time)@{ lhs.tv - rhs.tv }; }
 	Time ?-=?( Time & lhs, Duration rhs ) { lhs = lhs - rhs; return lhs; }
-	_Bool ?==?( Time lhs, Time rhs ) { return lhs.tv == rhs.tv; }
-	_Bool ?!=?( Time lhs, Time rhs ) { return lhs.tv != rhs.tv; }
-	_Bool ?<?( Time lhs, Time rhs ) { return lhs.tv < rhs.tv; }
-	_Bool ?<=?( Time lhs, Time rhs ) { return lhs.tv <= rhs.tv; }
-	_Bool ?>?( Time lhs, Time rhs ) { return lhs.tv > rhs.tv; }
-	_Bool ?>=?( Time lhs, Time rhs ) { return lhs.tv >= rhs.tv; }
+	bool ?==?( Time lhs, Time rhs ) { return lhs.tv == rhs.tv; }
+	bool ?!=?( Time lhs, Time rhs ) { return lhs.tv != rhs.tv; }
+	bool ?<?( Time lhs, Time rhs ) { return lhs.tv < rhs.tv; }
+	bool ?<=?( Time lhs, Time rhs ) { return lhs.tv <= rhs.tv; }
+	bool ?>?( Time lhs, Time rhs ) { return lhs.tv > rhs.tv; }
+	bool ?>=?( Time lhs, Time rhs ) { return lhs.tv >= rhs.tv; }
 } // distribution
 
