Index: src/libcfa/iostream
===================================================================
--- src/libcfa/iostream	(revision b9be000b3e999835a71ef82367f1dbc4c4561407)
+++ src/libcfa/iostream	(revision 1e6e08def6857d020506ed387a2bc1a3571988f3)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  6 23:03:30 2017
-// Update Count     : 144
+// Last Modified On : Thu Dec 21 13:55:41 2017
+// Update Count     : 145
 //
 
@@ -55,4 +55,6 @@
 
 // implement writable for intrinsic types
+
+forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, _Bool );
 
 forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype &, char );
Index: src/libcfa/iostream.c
===================================================================
--- src/libcfa/iostream.c	(revision b9be000b3e999835a71ef82367f1dbc4c4561407)
+++ src/libcfa/iostream.c	(revision 1e6e08def6857d020506ed387a2bc1a3571988f3)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  6 23:03:43 2017
-// Update Count     : 426
+// Last Modified On : Thu Dec 21 13:55:09 2017
+// Update Count     : 427
 //
 
@@ -23,4 +23,11 @@
 #include <complex.h>									// creal, cimag
 }
+
+forall( dtype ostype | ostream( ostype ) )
+ostype & ?|?( ostype & os, _Bool b ) {
+	if ( sepPrt( os ) ) fmt( os, "%s", sepGetCur( os ) );
+	fmt( os, "%s", b ? "true" : "false" );
+	return os;
+} // ?|?
 
 forall( dtype ostype | ostream( ostype ) )
