Index: src/prelude/builtins.c
===================================================================
--- src/prelude/builtins.c	(revision 6de43b6499d8447e9107e8c7e176bd09fe406847)
+++ src/prelude/builtins.c	(revision 83882e9be425bcbc142e8249eb8a86cafa148895)
@@ -80,9 +80,14 @@
 } // ?\?
 
-static inline forall( otype T | { void ?{}( T & this, one_t ); T ?*?( T, T ); double ?/?( double, T ); } )
-double ?\?( T x, signed long int y ) {
-    if ( y >=  0 ) return (double)(x \ (unsigned long int)y);
-    else return 1.0 / x \ (unsigned long int)(-y);
-} // ?\?
+// FIXME (x \ (unsigned long int)y) relies on X ?\?(T, unsigned long) a function that is neither 
+// defined, nor passed as an assertion parameter. Without user-defined conversions, cannot specify 
+// X as a type that casts to double, yet it doesn't make sense to write functions with that type 
+// signature where X is double.
+
+// static inline forall( otype T | { void ?{}( T & this, one_t ); T ?*?( T, T ); double ?/?( double, T ); } )
+// double ?\?( T x, signed long int y ) {
+//     if ( y >=  0 ) return (double)(x \ (unsigned long int)y);
+//     else return 1.0 / x \ (unsigned long int)(-y);
+// } // ?\?
 
 static inline long int ?\=?( long int & x, unsigned long int y ) { x = x \ y; return x; }
