Index: libcfa/src/rational.cfa
===================================================================
--- libcfa/src/rational.cfa	(revision 108b2c75260d5b15cab02e847700d0ca68637ebe)
+++ libcfa/src/rational.cfa	(revision 71f3d451a20b646c3cbac740abcef70143e86e9a)
@@ -201,5 +201,7 @@
 		return is;
 	} // ?|?
-
+} // distribution
+
+forall( T ) {
 	forall( ostype & | ostream( ostype ) | { ostype & ?|?( ostype &, T ); } ) {
 	ostype & ?|?( ostype & os, rational(T) r ) {
Index: libcfa/src/rational.hfa
===================================================================
--- libcfa/src/rational.hfa	(revision 108b2c75260d5b15cab02e847700d0ca68637ebe)
+++ libcfa/src/rational.hfa	(revision 71f3d451a20b646c3cbac740abcef70143e86e9a)
@@ -77,5 +77,7 @@
 	forall( istype & | istream( istype ) | { istype & ?|?( istype &, T & ); } )
 	istype & ?|?( istype &, rational(T) & );
+} // distribution
 
+forall( T ) {
 	forall( ostype & | ostream( ostype ) | { ostype & ?|?( ostype &, T ); } ) {
 		ostype & ?|?( ostype &, rational(T) );
