Index: src/tests/.expect/rational.txt
===================================================================
--- src/tests/.expect/rational.txt	(revision 4c8f86b379d36b8c8ac77b52c65369e65169bb3e)
+++ src/tests/.expect/rational.txt	(revision 9ff83109de15ee85befb018efad63d43144de47b)
@@ -17,11 +17,4 @@
 3/1
 4/3
-conversion
-0.75
-0.142857142857143
-3.14159292035398
-3/4
-1/7
-355/113
 decompose
 more tests
Index: src/tests/rational.c
===================================================================
--- src/tests/rational.c	(revision 4c8f86b379d36b8c8ac77b52c65369e65169bb3e)
+++ src/tests/rational.c	(revision 9ff83109de15ee85befb018efad63d43144de47b)
@@ -10,29 +10,36 @@
 // Created On       : Mon Mar 28 08:43:12 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May  2 22:11:05 2017
-// Update Count     : 41
+// Last Modified On : Sun May 14 18:10:28 2017
+// Update Count     : 57
 // 
 
+#include <rational>
 #include <limits>
-#include <rational>
+#include <stdlib>
 #include <fstream>
+
+// UNNECESSARY, FIX ME
+void ?{}( int * this ) { *this = 0; }
+void ?{}( int * this, zero_t ) { *this = 0; }
+void ?{}( int * this, one_t ) { *this = 1; }
 
 int main() {
 	sout | "constructor" | endl;
-	Rational a = { 3 }, b = { 4 }, c;
+	Rational(int) a = { 3 }, b = { 4 }, c;
 	sout | a | b | c | endl;
-	a = (Rational){ 4, 8 };
-	b = (Rational){ 5, 7 };
+
+	a = (Rational(int)){ 4, 8 };
+	b = (Rational(int)){ 5, 7 };
 	sout | a | b | endl;
-	a = (Rational){ -2, -3 };
-	b = (Rational){ 3, -2 };
+	a = (Rational(int)){ -2, -3 };
+	b = (Rational(int)){ 3, -2 };
 	sout | a | b | endl;
-	a = (Rational){ -2, 3 };
-	b = (Rational){ 3, 2 };
+	a = (Rational(int)){ -2, 3 };
+	b = (Rational(int)){ 3, 2 };
 	sout | a | b | endl;
 
 	sout | "logical" | endl;
-	a = (Rational){ -2 };
-	b = (Rational){ -3, 2 };
+	a = (Rational(int)){ -2 };
+	b = (Rational(int)){ -3, 2 };
 	sout | a | b | endl;
 //	sout | a == 1 | endl; // FIX ME
@@ -50,22 +57,22 @@
 	sout | a / b | endl;
 
-	sout | "conversion" | endl;
-	a = (Rational){ 3, 4 };
-	sout | widen( a ) | endl;
-	a = (Rational){ 1, 7 };
-	sout | widen( a ) | endl;
-	a = (Rational){ 355, 113 };
-	sout | widen( a ) | endl;
-	sout | narrow( 0.75, 4 ) | endl;
-	sout | narrow( 0.14285714285714, 16 ) | endl;
-	sout | narrow( 3.14159265358979, 256 ) | endl;
+//	sout | "conversion" | endl;
+//	a = (Rational(int)){ 3, 4 };
+//	sout | widen( a ) | endl;
+//	a = (Rational(int)){ 1, 7 };
+//	sout | widen( a ) | endl;
+//	a = (Rational(int)){ 355, 113 };
+//	sout | widen( a ) | endl;
+//	sout | narrow( 0.75, 4 ) | endl;
+//	sout | narrow( 0.14285714285714, 16 ) | endl;
+//	sout | narrow( 3.14159265358979, 256 ) | endl;
 
 	sout | "decompose" | endl;
-	RationalImpl n, d;
+	int n, d;
 //	[n, d] = a;
 //	sout | a | n | d | endl;
 
 	sout | "more tests" | endl;
-	Rational x = { 1, 2 }, y = { 2 };
+	Rational(int) x = { 1, 2 }, y = { 2 };
 	sout | x - y | endl;
 	sout | x > y | endl;
@@ -73,12 +80,12 @@
 	sout | y | denominator( y, -2 ) | y | endl;
 
-	Rational z = { 0, 5 };
+	Rational(int) z = { 0, 5 };
 	sout | z | endl;
 
 	sout | x | numerator( x, 0 ) | x | endl;
 
-	x = (Rational){ 1, MAX } + (Rational){ 1, MAX };
+	x = (Rational(int)){ 1, MAX } + (Rational(int)){ 1, MAX };
 	sout | x | endl;
-	x = (Rational){ 3, MAX } + (Rational){ 2, MAX };
+	x = (Rational(int)){ 3, MAX } + (Rational(int)){ 2, MAX };
 	sout | x | endl;
 
