[project @ 2000-11-07 10:42:55 by simonmar]
[ghc-hetmet.git] / ghc / tests / numeric / should_run / arith011.stdout
index 1e13393..7a7c6b1 100644 (file)
@@ -1,17 +1,17 @@
 --------------------------------
---Testing Int8
+--Testing Int
 --------------------------------
 testBounded
-(127, -128, -127)
-(126, 127, -128)
+(2147483647,-2147483648,-2147483647)
+(2147483646,2147483647,-2147483648)
 testEnum
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
 testReadShow
-[-3, -2, -1, 0, 1, 2, 3]
-[-3, -2, -1, 0, 1, 2, 3]
+[-3,-2,-1,0,1,2,3]
+[-3,-2,-1,0,1,2,3]
 testEq
 -3 == -3 = True
 -3 == -2 = False
@@ -603,54 +603,54 @@ toRational 2 = 2 % 1
 toRational 3 = 3 % 1
 #
 testIntegral
--3 `divMod`  -3 = (1, 0)
--3 `divMod`  -2 = (1, -1)
--3 `divMod`  -1 = (3, 0)
--3 `divMod`  1 = (-3, 0)
--3 `divMod`  2 = (-2, 1)
--3 `divMod`  3 = (-1, 0)
--2 `divMod`  -3 = (0, -2)
--2 `divMod`  -2 = (1, 0)
--2 `divMod`  -1 = (2, 0)
--2 `divMod`  1 = (-2, 0)
--2 `divMod`  2 = (-1, 0)
--2 `divMod`  3 = (-1, 1)
--1 `divMod`  -3 = (0, -1)
--1 `divMod`  -2 = (0, -1)
--1 `divMod`  -1 = (1, 0)
--1 `divMod`  1 = (-1, 0)
--1 `divMod`  2 = (-1, 1)
--1 `divMod`  3 = (-1, 2)
-0 `divMod`  -3 = (0, 0)
-0 `divMod`  -2 = (0, 0)
-0 `divMod`  -1 = (0, 0)
-0 `divMod`  1 = (0, 0)
-0 `divMod`  2 = (0, 0)
-0 `divMod`  3 = (0, 0)
-1 `divMod`  -3 = (-1, -2)
-1 `divMod`  -2 = (-1, -1)
-1 `divMod`  -1 = (-1, 0)
-1 `divMod`  1 = (1, 0)
-1 `divMod`  2 = (0, 1)
-1 `divMod`  3 = (0, 1)
-2 `divMod`  -3 = (-1, -1)
-2 `divMod`  -2 = (-1, 0)
-2 `divMod`  -1 = (-2, 0)
-2 `divMod`  1 = (2, 0)
-2 `divMod`  2 = (1, 0)
-2 `divMod`  3 = (0, 2)
-3 `divMod`  -3 = (-1, 0)
-3 `divMod`  -2 = (-2, -1)
-3 `divMod`  -1 = (-3, 0)
-3 `divMod`  1 = (3, 0)
-3 `divMod`  2 = (1, 1)
-3 `divMod`  3 = (1, 0)
+-3 `divMod`  -3 = (1,0)
+-3 `divMod`  -2 = (1,-1)
+-3 `divMod`  -1 = (3,0)
+-3 `divMod`  1 = (-3,0)
+-3 `divMod`  2 = (-2,1)
+-3 `divMod`  3 = (-1,0)
+-2 `divMod`  -3 = (0,-2)
+-2 `divMod`  -2 = (1,0)
+-2 `divMod`  -1 = (2,0)
+-2 `divMod`  1 = (-2,0)
+-2 `divMod`  2 = (-1,0)
+-2 `divMod`  3 = (-1,1)
+-1 `divMod`  -3 = (0,-1)
+-1 `divMod`  -2 = (0,-1)
+-1 `divMod`  -1 = (1,0)
+-1 `divMod`  1 = (-1,0)
+-1 `divMod`  2 = (-1,1)
+-1 `divMod`  3 = (-1,2)
+0 `divMod`  -3 = (0,0)
+0 `divMod`  -2 = (0,0)
+0 `divMod`  -1 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  -3 = (-1,-2)
+1 `divMod`  -2 = (-1,-1)
+1 `divMod`  -1 = (-1,0)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  -3 = (-1,-1)
+2 `divMod`  -2 = (-1,0)
+2 `divMod`  -1 = (-2,0)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  -3 = (-1,0)
+3 `divMod`  -2 = (-2,-1)
+3 `divMod`  -1 = (-3,0)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
  
 #
 -3 `div`     -3 = 1
@@ -753,54 +753,54 @@ testIntegral
 3 `mod`     3 = 0
  
 #
--3 `quotRem` -3 = (1, 0)
--3 `quotRem` -2 = (1, -1)
--3 `quotRem` -1 = (3, 0)
--3 `quotRem` 1 = (-3, 0)
--3 `quotRem` 2 = (-1, -1)
--3 `quotRem` 3 = (-1, 0)
--2 `quotRem` -3 = (0, -2)
--2 `quotRem` -2 = (1, 0)
--2 `quotRem` -1 = (2, 0)
--2 `quotRem` 1 = (-2, 0)
--2 `quotRem` 2 = (-1, 0)
--2 `quotRem` 3 = (0, -2)
--1 `quotRem` -3 = (0, -1)
--1 `quotRem` -2 = (0, -1)
--1 `quotRem` -1 = (1, 0)
--1 `quotRem` 1 = (-1, 0)
--1 `quotRem` 2 = (0, -1)
--1 `quotRem` 3 = (0, -1)
-0 `quotRem` -3 = (0, 0)
-0 `quotRem` -2 = (0, 0)
-0 `quotRem` -1 = (0, 0)
-0 `quotRem` 1 = (0, 0)
-0 `quotRem` 2 = (0, 0)
-0 `quotRem` 3 = (0, 0)
-1 `quotRem` -3 = (0, 1)
-1 `quotRem` -2 = (0, 1)
-1 `quotRem` -1 = (-1, 0)
-1 `quotRem` 1 = (1, 0)
-1 `quotRem` 2 = (0, 1)
-1 `quotRem` 3 = (0, 1)
-2 `quotRem` -3 = (0, 2)
-2 `quotRem` -2 = (-1, 0)
-2 `quotRem` -1 = (-2, 0)
-2 `quotRem` 1 = (2, 0)
-2 `quotRem` 2 = (1, 0)
-2 `quotRem` 3 = (0, 2)
-3 `quotRem` -3 = (-1, 0)
-3 `quotRem` -2 = (-1, 1)
-3 `quotRem` -1 = (-3, 0)
-3 `quotRem` 1 = (3, 0)
-3 `quotRem` 2 = (1, 1)
-3 `quotRem` 3 = (1, 0)
+-3 `quotRem` -3 = (1,0)
+-3 `quotRem` -2 = (1,-1)
+-3 `quotRem` -1 = (3,0)
+-3 `quotRem` 1 = (-3,0)
+-3 `quotRem` 2 = (-1,-1)
+-3 `quotRem` 3 = (-1,0)
+-2 `quotRem` -3 = (0,-2)
+-2 `quotRem` -2 = (1,0)
+-2 `quotRem` -1 = (2,0)
+-2 `quotRem` 1 = (-2,0)
+-2 `quotRem` 2 = (-1,0)
+-2 `quotRem` 3 = (0,-2)
+-1 `quotRem` -3 = (0,-1)
+-1 `quotRem` -2 = (0,-1)
+-1 `quotRem` -1 = (1,0)
+-1 `quotRem` 1 = (-1,0)
+-1 `quotRem` 2 = (0,-1)
+-1 `quotRem` 3 = (0,-1)
+0 `quotRem` -3 = (0,0)
+0 `quotRem` -2 = (0,0)
+0 `quotRem` -1 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` -3 = (0,1)
+1 `quotRem` -2 = (0,1)
+1 `quotRem` -1 = (-1,0)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` -3 = (0,2)
+2 `quotRem` -2 = (-1,0)
+2 `quotRem` -1 = (-2,0)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` -3 = (-1,0)
+3 `quotRem` -2 = (-1,1)
+3 `quotRem` -1 = (-3,0)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
  
 #
 -3 `quot`    -3 = 1
@@ -903,147 +903,2452 @@ testIntegral
 3 `rem`     3 = 0
  
 #
-testBits
--3 .&.   -3 = -3
--3 .&.   -2 = -4
--3 .&.   -1 = -3
--3 .&.   1 = 1
--3 .&.   2 = 0
--3 .&.   3 = 1
+--------------------------------
+--Testing Int8
+--------------------------------
+testBounded
+(127,-128,-127)
+(126,127,-128)
+testEnum
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
+testReadShow
+[-3,-2,-1,0,1,2,3]
+[-3,-2,-1,0,1,2,3]
+testEq
+-3 == -3 = True
+-3 == -2 = False
+-3 == -1 = False
+-3 == 0 = False
+-3 == 1 = False
+-3 == 2 = False
+-3 == 3 = False
  
--2 .&.   -3 = -4
--2 .&.   -2 = -2
--2 .&.   -1 = -2
--2 .&.   1 = 0
--2 .&.   2 = 2
--2 .&.   3 = 2
+-2 == -3 = False
+-2 == -2 = True
+-2 == -1 = False
+-2 == 0 = False
+-2 == 1 = False
+-2 == 2 = False
+-2 == 3 = False
  
--1 .&.   -3 = -3
--1 .&.   -2 = -2
--1 .&.   -1 = -1
--1 .&.   1 = 1
--1 .&.   2 = 2
--1 .&.   3 = 3
+-1 == -3 = False
+-1 == -2 = False
+-1 == -1 = True
+-1 == 0 = False
+-1 == 1 = False
+-1 == 2 = False
+-1 == 3 = False
  
-0 .&.   -3 = 0
-0 .&.   -2 = 0
-0 .&.   -1 = 0
-0 .&.   1 = 0
-0 .&.   2 = 0
-0 .&.   3 = 0
+0 == -3 = False
+0 == -2 = False
+0 == -1 = False
+0 == 0 = True
+0 == 1 = False
+0 == 2 = False
+0 == 3 = False
  
-1 .&.   -3 = 1
-1 .&.   -2 = 0
-1 .&.   -1 = 1
-1 .&.   1 = 1
-1 .&.   2 = 0
-1 .&.   3 = 1
+1 == -3 = False
+1 == -2 = False
+1 == -1 = False
+1 == 0 = False
+1 == 1 = True
+1 == 2 = False
+1 == 3 = False
  
-2 .&.   -3 = 0
-2 .&.   -2 = 2
-2 .&.   -1 = 2
-2 .&.   1 = 0
-2 .&.   2 = 2
-2 .&.   3 = 2
+2 == -3 = False
+2 == -2 = False
+2 == -1 = False
+2 == 0 = False
+2 == 1 = False
+2 == 2 = True
+2 == 3 = False
  
-3 .&.   -3 = 1
-3 .&.   -2 = 2
-3 .&.   -1 = 3
-3 .&.   1 = 1
-3 .&.   2 = 2
-3 .&.   3 = 3
+3 == -3 = False
+3 == -2 = False
+3 == -1 = False
+3 == 0 = False
+3 == 1 = False
+3 == 2 = False
+3 == 3 = True
  
 #
--3 .|.   -3 = -3
--3 .|.   -2 = -1
--3 .|.   -1 = -1
--3 .|.   1 = -3
--3 .|.   2 = -1
--3 .|.   3 = -1
+-3 /= -3 = False
+-3 /= -2 = True
+-3 /= -1 = True
+-3 /= 0 = True
+-3 /= 1 = True
+-3 /= 2 = True
+-3 /= 3 = True
  
--2 .|.   -3 = -1
--2 .|.   -2 = -2
--2 .|.   -1 = -1
--2 .|.   1 = -1
--2 .|.   2 = -2
--2 .|.   3 = -1
+-2 /= -3 = True
+-2 /= -2 = False
+-2 /= -1 = True
+-2 /= 0 = True
+-2 /= 1 = True
+-2 /= 2 = True
+-2 /= 3 = True
  
--1 .|.   -3 = -1
--1 .|.   -2 = -1
--1 .|.   -1 = -1
--1 .|.   1 = -1
--1 .|.   2 = -1
--1 .|.   3 = -1
+-1 /= -3 = True
+-1 /= -2 = True
+-1 /= -1 = False
+-1 /= 0 = True
+-1 /= 1 = True
+-1 /= 2 = True
+-1 /= 3 = True
  
-0 .|.   -3 = -3
-0 .|.   -2 = -2
-0 .|.   -1 = -1
-0 .|.   1 = 1
-0 .|.   2 = 2
-0 .|.   3 = 3
+0 /= -3 = True
+0 /= -2 = True
+0 /= -1 = True
+0 /= 0 = False
+0 /= 1 = True
+0 /= 2 = True
+0 /= 3 = True
  
-1 .|.   -3 = -3
-1 .|.   -2 = -1
-1 .|.   -1 = -1
-1 .|.   1 = 1
-1 .|.   2 = 3
-1 .|.   3 = 3
+1 /= -3 = True
+1 /= -2 = True
+1 /= -1 = True
+1 /= 0 = True
+1 /= 1 = False
+1 /= 2 = True
+1 /= 3 = True
  
-2 .|.   -3 = -1
-2 .|.   -2 = -2
-2 .|.   -1 = -1
-2 .|.   1 = 3
-2 .|.   2 = 2
-2 .|.   3 = 3
+2 /= -3 = True
+2 /= -2 = True
+2 /= -1 = True
+2 /= 0 = True
+2 /= 1 = True
+2 /= 2 = False
+2 /= 3 = True
  
-3 .|.   -3 = -1
-3 .|.   -2 = -1
-3 .|.   -1 = -1
-3 .|.   1 = 3
-3 .|.   2 = 3
-3 .|.   3 = 3
+3 /= -3 = True
+3 /= -2 = True
+3 /= -1 = True
+3 /= 0 = True
+3 /= 1 = True
+3 /= 2 = True
+3 /= 3 = False
  
 #
--3 `xor` -3 = 0
--3 `xor` -2 = 3
--3 `xor` -1 = 2
--3 `xor` 1 = -4
--3 `xor` 2 = -1
--3 `xor` 3 = -2
--2 `xor` -3 = 3
--2 `xor` -2 = 0
--2 `xor` -1 = 1
--2 `xor` 1 = -1
--2 `xor` 2 = -4
--2 `xor` 3 = -3
+testOrd
+-3 <= -3 = True
+-3 <= -2 = True
+-3 <= -1 = True
+-3 <= 0 = True
+-3 <= 1 = True
+-3 <= 2 = True
+-3 <= 3 = True
  
--1 `xor` -3 = 2
--1 `xor` -2 = 1
--1 `xor` -1 = 0
--1 `xor` 1 = -2
--1 `xor` 2 = -3
--1 `xor` 3 = -4
+-2 <= -3 = False
+-2 <= -2 = True
+-2 <= -1 = True
+-2 <= 0 = True
+-2 <= 1 = True
+-2 <= 2 = True
+-2 <= 3 = True
  
-0 `xor` -3 = -3
-0 `xor` -2 = -2
-0 `xor` -1 = -1
-0 `xor` 1 = 1
-0 `xor` 2 = 2
-0 `xor` 3 = 3
+-1 <= -3 = False
+-1 <= -2 = False
+-1 <= -1 = True
+-1 <= 0 = True
+-1 <= 1 = True
+-1 <= 2 = True
+-1 <= 3 = True
  
-1 `xor` -3 = -4
-1 `xor` -2 = -1
-1 `xor` -1 = -2
-1 `xor` 1 = 0
-1 `xor` 2 = 3
-1 `xor` 3 = 2
+0 <= -3 = False
+0 <= -2 = False
+0 <= -1 = False
+0 <= 0 = True
+0 <= 1 = True
+0 <= 2 = True
+0 <= 3 = True
  
-2 `xor` -3 = -1
-2 `xor` -2 = -4
-2 `xor` -1 = -3
-2 `xor` 1 = 3
-2 `xor` 2 = 0
+1 <= -3 = False
+1 <= -2 = False
+1 <= -1 = False
+1 <= 0 = False
+1 <= 1 = True
+1 <= 2 = True
+1 <= 3 = True
+2 <= -3 = False
+2 <= -2 = False
+2 <= -1 = False
+2 <= 0 = False
+2 <= 1 = False
+2 <= 2 = True
+2 <= 3 = True
+3 <= -3 = False
+3 <= -2 = False
+3 <= -1 = False
+3 <= 0 = False
+3 <= 1 = False
+3 <= 2 = False
+3 <= 3 = True
+#
+-3 <  -3 = False
+-3 <  -2 = True
+-3 <  -1 = True
+-3 <  0 = True
+-3 <  1 = True
+-3 <  2 = True
+-3 <  3 = True
+-2 <  -3 = False
+-2 <  -2 = False
+-2 <  -1 = True
+-2 <  0 = True
+-2 <  1 = True
+-2 <  2 = True
+-2 <  3 = True
+-1 <  -3 = False
+-1 <  -2 = False
+-1 <  -1 = False
+-1 <  0 = True
+-1 <  1 = True
+-1 <  2 = True
+-1 <  3 = True
+0 <  -3 = False
+0 <  -2 = False
+0 <  -1 = False
+0 <  0 = False
+0 <  1 = True
+0 <  2 = True
+0 <  3 = True
+1 <  -3 = False
+1 <  -2 = False
+1 <  -1 = False
+1 <  0 = False
+1 <  1 = False
+1 <  2 = True
+1 <  3 = True
+2 <  -3 = False
+2 <  -2 = False
+2 <  -1 = False
+2 <  0 = False
+2 <  1 = False
+2 <  2 = False
+2 <  3 = True
+3 <  -3 = False
+3 <  -2 = False
+3 <  -1 = False
+3 <  0 = False
+3 <  1 = False
+3 <  2 = False
+3 <  3 = False
+#
+-3 >  -3 = False
+-3 >  -2 = False
+-3 >  -1 = False
+-3 >  0 = False
+-3 >  1 = False
+-3 >  2 = False
+-3 >  3 = False
+-2 >  -3 = True
+-2 >  -2 = False
+-2 >  -1 = False
+-2 >  0 = False
+-2 >  1 = False
+-2 >  2 = False
+-2 >  3 = False
+-1 >  -3 = True
+-1 >  -2 = True
+-1 >  -1 = False
+-1 >  0 = False
+-1 >  1 = False
+-1 >  2 = False
+-1 >  3 = False
+0 >  -3 = True
+0 >  -2 = True
+0 >  -1 = True
+0 >  0 = False
+0 >  1 = False
+0 >  2 = False
+0 >  3 = False
+1 >  -3 = True
+1 >  -2 = True
+1 >  -1 = True
+1 >  0 = True
+1 >  1 = False
+1 >  2 = False
+1 >  3 = False
+2 >  -3 = True
+2 >  -2 = True
+2 >  -1 = True
+2 >  0 = True
+2 >  1 = True
+2 >  2 = False
+2 >  3 = False
+3 >  -3 = True
+3 >  -2 = True
+3 >  -1 = True
+3 >  0 = True
+3 >  1 = True
+3 >  2 = True
+3 >  3 = False
+#
+-3 >= -3 = True
+-3 >= -2 = False
+-3 >= -1 = False
+-3 >= 0 = False
+-3 >= 1 = False
+-3 >= 2 = False
+-3 >= 3 = False
+-2 >= -3 = True
+-2 >= -2 = True
+-2 >= -1 = False
+-2 >= 0 = False
+-2 >= 1 = False
+-2 >= 2 = False
+-2 >= 3 = False
+-1 >= -3 = True
+-1 >= -2 = True
+-1 >= -1 = True
+-1 >= 0 = False
+-1 >= 1 = False
+-1 >= 2 = False
+-1 >= 3 = False
+0 >= -3 = True
+0 >= -2 = True
+0 >= -1 = True
+0 >= 0 = True
+0 >= 1 = False
+0 >= 2 = False
+0 >= 3 = False
+1 >= -3 = True
+1 >= -2 = True
+1 >= -1 = True
+1 >= 0 = True
+1 >= 1 = True
+1 >= 2 = False
+1 >= 3 = False
+2 >= -3 = True
+2 >= -2 = True
+2 >= -1 = True
+2 >= 0 = True
+2 >= 1 = True
+2 >= 2 = True
+2 >= 3 = False
+3 >= -3 = True
+3 >= -2 = True
+3 >= -1 = True
+3 >= 0 = True
+3 >= 1 = True
+3 >= 2 = True
+3 >= 3 = True
+#
+-3 `compare` -3 = EQ
+-3 `compare` -2 = LT
+-3 `compare` -1 = LT
+-3 `compare` 0 = LT
+-3 `compare` 1 = LT
+-3 `compare` 2 = LT
+-3 `compare` 3 = LT
+-2 `compare` -3 = GT
+-2 `compare` -2 = EQ
+-2 `compare` -1 = LT
+-2 `compare` 0 = LT
+-2 `compare` 1 = LT
+-2 `compare` 2 = LT
+-2 `compare` 3 = LT
+-1 `compare` -3 = GT
+-1 `compare` -2 = GT
+-1 `compare` -1 = EQ
+-1 `compare` 0 = LT
+-1 `compare` 1 = LT
+-1 `compare` 2 = LT
+-1 `compare` 3 = LT
+0 `compare` -3 = GT
+0 `compare` -2 = GT
+0 `compare` -1 = GT
+0 `compare` 0 = EQ
+0 `compare` 1 = LT
+0 `compare` 2 = LT
+0 `compare` 3 = LT
+1 `compare` -3 = GT
+1 `compare` -2 = GT
+1 `compare` -1 = GT
+1 `compare` 0 = GT
+1 `compare` 1 = EQ
+1 `compare` 2 = LT
+1 `compare` 3 = LT
+2 `compare` -3 = GT
+2 `compare` -2 = GT
+2 `compare` -1 = GT
+2 `compare` 0 = GT
+2 `compare` 1 = GT
+2 `compare` 2 = EQ
+2 `compare` 3 = LT
+3 `compare` -3 = GT
+3 `compare` -2 = GT
+3 `compare` -1 = GT
+3 `compare` 0 = GT
+3 `compare` 1 = GT
+3 `compare` 2 = GT
+3 `compare` 3 = EQ
+#
+testNum
+-3 + -3 = -6
+-3 + -2 = -5
+-3 + -1 = -4
+-3 + 0 = -3
+-3 + 1 = -2
+-3 + 2 = -1
+-3 + 3 = 0
+-2 + -3 = -5
+-2 + -2 = -4
+-2 + -1 = -3
+-2 + 0 = -2
+-2 + 1 = -1
+-2 + 2 = 0
+-2 + 3 = 1
+-1 + -3 = -4
+-1 + -2 = -3
+-1 + -1 = -2
+-1 + 0 = -1
+-1 + 1 = 0
+-1 + 2 = 1
+-1 + 3 = 2
+0 + -3 = -3
+0 + -2 = -2
+0 + -1 = -1
+0 + 0 = 0
+0 + 1 = 1
+0 + 2 = 2
+0 + 3 = 3
+1 + -3 = -2
+1 + -2 = -1
+1 + -1 = 0
+1 + 0 = 1
+1 + 1 = 2
+1 + 2 = 3
+1 + 3 = 4
+2 + -3 = -1
+2 + -2 = 0
+2 + -1 = 1
+2 + 0 = 2
+2 + 1 = 3
+2 + 2 = 4
+2 + 3 = 5
+3 + -3 = 0
+3 + -2 = 1
+3 + -1 = 2
+3 + 0 = 3
+3 + 1 = 4
+3 + 2 = 5
+3 + 3 = 6
+#
+-3 - -3 = 0
+-3 - -2 = -1
+-3 - -1 = -2
+-3 - 0 = -3
+-3 - 1 = -4
+-3 - 2 = -5
+-3 - 3 = -6
+-2 - -3 = 1
+-2 - -2 = 0
+-2 - -1 = -1
+-2 - 0 = -2
+-2 - 1 = -3
+-2 - 2 = -4
+-2 - 3 = -5
+-1 - -3 = 2
+-1 - -2 = 1
+-1 - -1 = 0
+-1 - 0 = -1
+-1 - 1 = -2
+-1 - 2 = -3
+-1 - 3 = -4
+0 - -3 = 3
+0 - -2 = 2
+0 - -1 = 1
+0 - 0 = 0
+0 - 1 = -1
+0 - 2 = -2
+0 - 3 = -3
+1 - -3 = 4
+1 - -2 = 3
+1 - -1 = 2
+1 - 0 = 1
+1 - 1 = 0
+1 - 2 = -1
+1 - 3 = -2
+2 - -3 = 5
+2 - -2 = 4
+2 - -1 = 3
+2 - 0 = 2
+2 - 1 = 1
+2 - 2 = 0
+2 - 3 = -1
+3 - -3 = 6
+3 - -2 = 5
+3 - -1 = 4
+3 - 0 = 3
+3 - 1 = 2
+3 - 2 = 1
+3 - 3 = 0
+#
+-3 * -3 = 9
+-3 * -2 = 6
+-3 * -1 = 3
+-3 * 0 = 0
+-3 * 1 = -3
+-3 * 2 = -6
+-3 * 3 = -9
+-2 * -3 = 6
+-2 * -2 = 4
+-2 * -1 = 2
+-2 * 0 = 0
+-2 * 1 = -2
+-2 * 2 = -4
+-2 * 3 = -6
+-1 * -3 = 3
+-1 * -2 = 2
+-1 * -1 = 1
+-1 * 0 = 0
+-1 * 1 = -1
+-1 * 2 = -2
+-1 * 3 = -3
+0 * -3 = 0
+0 * -2 = 0
+0 * -1 = 0
+0 * 0 = 0
+0 * 1 = 0
+0 * 2 = 0
+0 * 3 = 0
+1 * -3 = -3
+1 * -2 = -2
+1 * -1 = -1
+1 * 0 = 0
+1 * 1 = 1
+1 * 2 = 2
+1 * 3 = 3
+2 * -3 = -6
+2 * -2 = -4
+2 * -1 = -2
+2 * 0 = 0
+2 * 1 = 2
+2 * 2 = 4
+2 * 3 = 6
+3 * -3 = -9
+3 * -2 = -6
+3 * -1 = -3
+3 * 0 = 0
+3 * 1 = 3
+3 * 2 = 6
+3 * 3 = 9
+#
+negate -3 = 3
+negate -2 = 2
+negate -1 = 1
+negate 0 = 0
+negate 1 = -1
+negate 2 = -2
+negate 3 = -3
+#
+testReal
+toRational -3 = -3 % 1
+toRational -2 = -2 % 1
+toRational -1 = -1 % 1
+toRational 0 = 0 % 1
+toRational 1 = 1 % 1
+toRational 2 = 2 % 1
+toRational 3 = 3 % 1
+#
+testIntegral
+-3 `divMod`  -3 = (1,0)
+-3 `divMod`  -2 = (1,-1)
+-3 `divMod`  -1 = (3,0)
+-3 `divMod`  1 = (-3,0)
+-3 `divMod`  2 = (-2,1)
+-3 `divMod`  3 = (-1,0)
+-2 `divMod`  -3 = (0,-2)
+-2 `divMod`  -2 = (1,0)
+-2 `divMod`  -1 = (2,0)
+-2 `divMod`  1 = (-2,0)
+-2 `divMod`  2 = (-1,0)
+-2 `divMod`  3 = (-1,1)
+-1 `divMod`  -3 = (0,-1)
+-1 `divMod`  -2 = (0,-1)
+-1 `divMod`  -1 = (1,0)
+-1 `divMod`  1 = (-1,0)
+-1 `divMod`  2 = (-1,1)
+-1 `divMod`  3 = (-1,2)
+0 `divMod`  -3 = (0,0)
+0 `divMod`  -2 = (0,0)
+0 `divMod`  -1 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  -3 = (-1,-2)
+1 `divMod`  -2 = (-1,-1)
+1 `divMod`  -1 = (-1,0)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  -3 = (-1,-1)
+2 `divMod`  -2 = (-1,0)
+2 `divMod`  -1 = (-2,0)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  -3 = (-1,0)
+3 `divMod`  -2 = (-2,-1)
+3 `divMod`  -1 = (-3,0)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
+#
+-3 `div`     -3 = 1
+-3 `div`     -2 = 1
+-3 `div`     -1 = 3
+-3 `div`     1 = -3
+-3 `div`     2 = -2
+-3 `div`     3 = -1
+-2 `div`     -3 = 0
+-2 `div`     -2 = 1
+-2 `div`     -1 = 2
+-2 `div`     1 = -2
+-2 `div`     2 = -1
+-2 `div`     3 = -1
+-1 `div`     -3 = 0
+-1 `div`     -2 = 0
+-1 `div`     -1 = 1
+-1 `div`     1 = -1
+-1 `div`     2 = -1
+-1 `div`     3 = -1
+0 `div`     -3 = 0
+0 `div`     -2 = 0
+0 `div`     -1 = 0
+0 `div`     1 = 0
+0 `div`     2 = 0
+0 `div`     3 = 0
+1 `div`     -3 = -1
+1 `div`     -2 = -1
+1 `div`     -1 = -1
+1 `div`     1 = 1
+1 `div`     2 = 0
+1 `div`     3 = 0
+2 `div`     -3 = -1
+2 `div`     -2 = -1
+2 `div`     -1 = -2
+2 `div`     1 = 2
+2 `div`     2 = 1
+2 `div`     3 = 0
+3 `div`     -3 = -1
+3 `div`     -2 = -2
+3 `div`     -1 = -3
+3 `div`     1 = 3
+3 `div`     2 = 1
+3 `div`     3 = 1
+#
+-3 `mod`     -3 = 0
+-3 `mod`     -2 = -1
+-3 `mod`     -1 = 0
+-3 `mod`     1 = 0
+-3 `mod`     2 = 1
+-3 `mod`     3 = 0
+-2 `mod`     -3 = -2
+-2 `mod`     -2 = 0
+-2 `mod`     -1 = 0
+-2 `mod`     1 = 0
+-2 `mod`     2 = 0
+-2 `mod`     3 = 1
+-1 `mod`     -3 = -1
+-1 `mod`     -2 = -1
+-1 `mod`     -1 = 0
+-1 `mod`     1 = 0
+-1 `mod`     2 = 1
+-1 `mod`     3 = 2
+0 `mod`     -3 = 0
+0 `mod`     -2 = 0
+0 `mod`     -1 = 0
+0 `mod`     1 = 0
+0 `mod`     2 = 0
+0 `mod`     3 = 0
+1 `mod`     -3 = -2
+1 `mod`     -2 = -1
+1 `mod`     -1 = 0
+1 `mod`     1 = 0
+1 `mod`     2 = 1
+1 `mod`     3 = 1
+2 `mod`     -3 = -1
+2 `mod`     -2 = 0
+2 `mod`     -1 = 0
+2 `mod`     1 = 0
+2 `mod`     2 = 0
+2 `mod`     3 = 2
+3 `mod`     -3 = 0
+3 `mod`     -2 = -1
+3 `mod`     -1 = 0
+3 `mod`     1 = 0
+3 `mod`     2 = 1
+3 `mod`     3 = 0
+#
+-3 `quotRem` -3 = (1,0)
+-3 `quotRem` -2 = (1,-1)
+-3 `quotRem` -1 = (3,0)
+-3 `quotRem` 1 = (-3,0)
+-3 `quotRem` 2 = (-1,-1)
+-3 `quotRem` 3 = (-1,0)
+-2 `quotRem` -3 = (0,-2)
+-2 `quotRem` -2 = (1,0)
+-2 `quotRem` -1 = (2,0)
+-2 `quotRem` 1 = (-2,0)
+-2 `quotRem` 2 = (-1,0)
+-2 `quotRem` 3 = (0,-2)
+-1 `quotRem` -3 = (0,-1)
+-1 `quotRem` -2 = (0,-1)
+-1 `quotRem` -1 = (1,0)
+-1 `quotRem` 1 = (-1,0)
+-1 `quotRem` 2 = (0,-1)
+-1 `quotRem` 3 = (0,-1)
+0 `quotRem` -3 = (0,0)
+0 `quotRem` -2 = (0,0)
+0 `quotRem` -1 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` -3 = (0,1)
+1 `quotRem` -2 = (0,1)
+1 `quotRem` -1 = (-1,0)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` -3 = (0,2)
+2 `quotRem` -2 = (-1,0)
+2 `quotRem` -1 = (-2,0)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` -3 = (-1,0)
+3 `quotRem` -2 = (-1,1)
+3 `quotRem` -1 = (-3,0)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
+#
+-3 `quot`    -3 = 1
+-3 `quot`    -2 = 1
+-3 `quot`    -1 = 3
+-3 `quot`    1 = -3
+-3 `quot`    2 = -1
+-3 `quot`    3 = -1
+-2 `quot`    -3 = 0
+-2 `quot`    -2 = 1
+-2 `quot`    -1 = 2
+-2 `quot`    1 = -2
+-2 `quot`    2 = -1
+-2 `quot`    3 = 0
+-1 `quot`    -3 = 0
+-1 `quot`    -2 = 0
+-1 `quot`    -1 = 1
+-1 `quot`    1 = -1
+-1 `quot`    2 = 0
+-1 `quot`    3 = 0
+0 `quot`    -3 = 0
+0 `quot`    -2 = 0
+0 `quot`    -1 = 0
+0 `quot`    1 = 0
+0 `quot`    2 = 0
+0 `quot`    3 = 0
+1 `quot`    -3 = 0
+1 `quot`    -2 = 0
+1 `quot`    -1 = -1
+1 `quot`    1 = 1
+1 `quot`    2 = 0
+1 `quot`    3 = 0
+2 `quot`    -3 = 0
+2 `quot`    -2 = -1
+2 `quot`    -1 = -2
+2 `quot`    1 = 2
+2 `quot`    2 = 1
+2 `quot`    3 = 0
+3 `quot`    -3 = -1
+3 `quot`    -2 = -1
+3 `quot`    -1 = -3
+3 `quot`    1 = 3
+3 `quot`    2 = 1
+3 `quot`    3 = 1
+#
+-3 `rem`     -3 = 0
+-3 `rem`     -2 = -1
+-3 `rem`     -1 = 0
+-3 `rem`     1 = 0
+-3 `rem`     2 = -1
+-3 `rem`     3 = 0
+-2 `rem`     -3 = -2
+-2 `rem`     -2 = 0
+-2 `rem`     -1 = 0
+-2 `rem`     1 = 0
+-2 `rem`     2 = 0
+-2 `rem`     3 = -2
+-1 `rem`     -3 = -1
+-1 `rem`     -2 = -1
+-1 `rem`     -1 = 0
+-1 `rem`     1 = 0
+-1 `rem`     2 = -1
+-1 `rem`     3 = -1
+0 `rem`     -3 = 0
+0 `rem`     -2 = 0
+0 `rem`     -1 = 0
+0 `rem`     1 = 0
+0 `rem`     2 = 0
+0 `rem`     3 = 0
+1 `rem`     -3 = 1
+1 `rem`     -2 = 1
+1 `rem`     -1 = 0
+1 `rem`     1 = 0
+1 `rem`     2 = 1
+1 `rem`     3 = 1
+2 `rem`     -3 = 2
+2 `rem`     -2 = 0
+2 `rem`     -1 = 0
+2 `rem`     1 = 0
+2 `rem`     2 = 0
+2 `rem`     3 = 2
+3 `rem`     -3 = 0
+3 `rem`     -2 = 1
+3 `rem`     -1 = 0
+3 `rem`     1 = 0
+3 `rem`     2 = 1
+3 `rem`     3 = 0
+#
+testBits
+-3 .&.   -3 = -3
+-3 .&.   -2 = -4
+-3 .&.   -1 = -3
+-3 .&.   1 = 1
+-3 .&.   2 = 0
+-3 .&.   3 = 1
+-2 .&.   -3 = -4
+-2 .&.   -2 = -2
+-2 .&.   -1 = -2
+-2 .&.   1 = 0
+-2 .&.   2 = 2
+-2 .&.   3 = 2
+-1 .&.   -3 = -3
+-1 .&.   -2 = -2
+-1 .&.   -1 = -1
+-1 .&.   1 = 1
+-1 .&.   2 = 2
+-1 .&.   3 = 3
+0 .&.   -3 = 0
+0 .&.   -2 = 0
+0 .&.   -1 = 0
+0 .&.   1 = 0
+0 .&.   2 = 0
+0 .&.   3 = 0
+1 .&.   -3 = 1
+1 .&.   -2 = 0
+1 .&.   -1 = 1
+1 .&.   1 = 1
+1 .&.   2 = 0
+1 .&.   3 = 1
+2 .&.   -3 = 0
+2 .&.   -2 = 2
+2 .&.   -1 = 2
+2 .&.   1 = 0
+2 .&.   2 = 2
+2 .&.   3 = 2
+3 .&.   -3 = 1
+3 .&.   -2 = 2
+3 .&.   -1 = 3
+3 .&.   1 = 1
+3 .&.   2 = 2
+3 .&.   3 = 3
+#
+-3 .|.   -3 = -3
+-3 .|.   -2 = -1
+-3 .|.   -1 = -1
+-3 .|.   1 = -3
+-3 .|.   2 = -1
+-3 .|.   3 = -1
+-2 .|.   -3 = -1
+-2 .|.   -2 = -2
+-2 .|.   -1 = -1
+-2 .|.   1 = -1
+-2 .|.   2 = -2
+-2 .|.   3 = -1
+-1 .|.   -3 = -1
+-1 .|.   -2 = -1
+-1 .|.   -1 = -1
+-1 .|.   1 = -1
+-1 .|.   2 = -1
+-1 .|.   3 = -1
+0 .|.   -3 = -3
+0 .|.   -2 = -2
+0 .|.   -1 = -1
+0 .|.   1 = 1
+0 .|.   2 = 2
+0 .|.   3 = 3
+1 .|.   -3 = -3
+1 .|.   -2 = -1
+1 .|.   -1 = -1
+1 .|.   1 = 1
+1 .|.   2 = 3
+1 .|.   3 = 3
+2 .|.   -3 = -1
+2 .|.   -2 = -2
+2 .|.   -1 = -1
+2 .|.   1 = 3
+2 .|.   2 = 2
+2 .|.   3 = 3
+3 .|.   -3 = -1
+3 .|.   -2 = -1
+3 .|.   -1 = -1
+3 .|.   1 = 3
+3 .|.   2 = 3
+3 .|.   3 = 3
+#
+-3 `xor` -3 = 0
+-3 `xor` -2 = 3
+-3 `xor` -1 = 2
+-3 `xor` 1 = -4
+-3 `xor` 2 = -1
+-3 `xor` 3 = -2
+-2 `xor` -3 = 3
+-2 `xor` -2 = 0
+-2 `xor` -1 = 1
+-2 `xor` 1 = -1
+-2 `xor` 2 = -4
+-2 `xor` 3 = -3
+-1 `xor` -3 = 2
+-1 `xor` -2 = 1
+-1 `xor` -1 = 0
+-1 `xor` 1 = -2
+-1 `xor` 2 = -3
+-1 `xor` 3 = -4
+0 `xor` -3 = -3
+0 `xor` -2 = -2
+0 `xor` -1 = -1
+0 `xor` 1 = 1
+0 `xor` 2 = 2
+0 `xor` 3 = 3
+1 `xor` -3 = -4
+1 `xor` -2 = -1
+1 `xor` -1 = -2
+1 `xor` 1 = 0
+1 `xor` 2 = 3
+1 `xor` 3 = 2
+2 `xor` -3 = -1
+2 `xor` -2 = -4
+2 `xor` -1 = -3
+2 `xor` 1 = 3
+2 `xor` 2 = 0
+2 `xor` 3 = 1
+3 `xor` -3 = -2
+3 `xor` -2 = -3
+3 `xor` -1 = -4
+3 `xor` 1 = 2
+3 `xor` 2 = 1
+3 `xor` 3 = 0
+#
+complement -3 = 2
+complement -2 = 1
+complement -1 = 0
+complement 0 = -1
+complement 1 = -2
+complement 2 = -3
+complement 3 = -4
+#
+-3 `shiftL` 0 = -3
+-3 `shiftL` 1 = -6
+-3 `shiftL` 2 = -12
+-3 `shiftL` 3 = -24
+-3 `shiftL` 32 = 0
+-2 `shiftL` 0 = -2
+-2 `shiftL` 1 = -4
+-2 `shiftL` 2 = -8
+-2 `shiftL` 3 = -16
+-2 `shiftL` 32 = 0
+-1 `shiftL` 0 = -1
+-1 `shiftL` 1 = -2
+-1 `shiftL` 2 = -4
+-1 `shiftL` 3 = -8
+-1 `shiftL` 32 = 0
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 0
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 0
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 0
+#
+-3 `shiftR` 0 = -3
+-3 `shiftR` 1 = -2
+-3 `shiftR` 2 = -1
+-3 `shiftR` 3 = -1
+-3 `shiftR` 32 = -1
+-2 `shiftR` 0 = -2
+-2 `shiftR` 1 = -1
+-2 `shiftR` 2 = -1
+-2 `shiftR` 3 = -1
+-2 `shiftR` 32 = -1
+-1 `shiftR` 0 = -1
+-1 `shiftR` 1 = -1
+-1 `shiftR` 2 = -1
+-1 `shiftR` 3 = -1
+-1 `shiftR` 32 = -1
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
+#
+-3 `rotate` -3 = -65
+-3 `rotate` -2 = 127
+-3 `rotate` -1 = -2
+-3 `rotate` 0 = -3
+-3 `rotate` 1 = -5
+-3 `rotate` 2 = -9
+-3 `rotate` 3 = -17
+-2 `rotate` -3 = -33
+-2 `rotate` -2 = -65
+-2 `rotate` -1 = 127
+-2 `rotate` 0 = -2
+-2 `rotate` 1 = -3
+-2 `rotate` 2 = -5
+-2 `rotate` 3 = -9
+-1 `rotate` -3 = -1
+-1 `rotate` -2 = -1
+-1 `rotate` -1 = -1
+-1 `rotate` 0 = -1
+-1 `rotate` 1 = -1
+-1 `rotate` 2 = -1
+-1 `rotate` 3 = -1
+0 `rotate` -3 = 0
+0 `rotate` -2 = 0
+0 `rotate` -1 = 0
+0 `rotate` 0 = 0
+0 `rotate` 1 = 0
+0 `rotate` 2 = 0
+0 `rotate` 3 = 0
+1 `rotate` -3 = 32
+1 `rotate` -2 = 64
+1 `rotate` -1 = -128
+1 `rotate` 0 = 1
+1 `rotate` 1 = 2
+1 `rotate` 2 = 4
+1 `rotate` 3 = 8
+2 `rotate` -3 = 64
+2 `rotate` -2 = -128
+2 `rotate` -1 = 1
+2 `rotate` 0 = 2
+2 `rotate` 1 = 4
+2 `rotate` 2 = 8
+2 `rotate` 3 = 16
+3 `rotate` -3 = 96
+3 `rotate` -2 = -64
+3 `rotate` -1 = -127
+3 `rotate` 0 = 3
+3 `rotate` 1 = 6
+3 `rotate` 2 = 12
+3 `rotate` 3 = 24
+#
+bit 0 = 1
+bit 1 = 2
+bit 2 = 4
+bit 3 = 8
+#
+-3 `setBit` 0 = -3
+-3 `setBit` 1 = -1
+-3 `setBit` 2 = -3
+-3 `setBit` 3 = -3
+-3 `setBit` 32 = -3
+-2 `setBit` 0 = -1
+-2 `setBit` 1 = -2
+-2 `setBit` 2 = -2
+-2 `setBit` 3 = -2
+-2 `setBit` 32 = -2
+-1 `setBit` 0 = -1
+-1 `setBit` 1 = -1
+-1 `setBit` 2 = -1
+-1 `setBit` 3 = -1
+-1 `setBit` 32 = -1
+0 `setBit` 0 = 1
+0 `setBit` 1 = 2
+0 `setBit` 2 = 4
+0 `setBit` 3 = 8
+0 `setBit` 32 = 0
+1 `setBit` 0 = 1
+1 `setBit` 1 = 3
+1 `setBit` 2 = 5
+1 `setBit` 3 = 9
+1 `setBit` 32 = 1
+2 `setBit` 0 = 3
+2 `setBit` 1 = 2
+2 `setBit` 2 = 6
+2 `setBit` 3 = 10
+2 `setBit` 32 = 2
+3 `setBit` 0 = 3
+3 `setBit` 1 = 3
+3 `setBit` 2 = 7
+3 `setBit` 3 = 11
+3 `setBit` 32 = 3
+#
+-3 `clearBit` 0 = -4
+-3 `clearBit` 1 = -3
+-3 `clearBit` 2 = -7
+-3 `clearBit` 3 = -11
+-3 `clearBit` 32 = -3
+-2 `clearBit` 0 = -2
+-2 `clearBit` 1 = -4
+-2 `clearBit` 2 = -6
+-2 `clearBit` 3 = -10
+-2 `clearBit` 32 = -2
+-1 `clearBit` 0 = -2
+-1 `clearBit` 1 = -3
+-1 `clearBit` 2 = -5
+-1 `clearBit` 3 = -9
+-1 `clearBit` 32 = -1
+0 `clearBit` 0 = 0
+0 `clearBit` 1 = 0
+0 `clearBit` 2 = 0
+0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
+1 `clearBit` 0 = 0
+1 `clearBit` 1 = 1
+1 `clearBit` 2 = 1
+1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
+2 `clearBit` 0 = 2
+2 `clearBit` 1 = 0
+2 `clearBit` 2 = 2
+2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
+3 `clearBit` 0 = 2
+3 `clearBit` 1 = 1
+3 `clearBit` 2 = 3
+3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
+#
+-3 `complementBit` 0 = -4
+-3 `complementBit` 1 = -1
+-3 `complementBit` 2 = -7
+-3 `complementBit` 3 = -11
+-3 `complementBit` 32 = -3
+-2 `complementBit` 0 = -1
+-2 `complementBit` 1 = -4
+-2 `complementBit` 2 = -6
+-2 `complementBit` 3 = -10
+-2 `complementBit` 32 = -2
+-1 `complementBit` 0 = -2
+-1 `complementBit` 1 = -3
+-1 `complementBit` 2 = -5
+-1 `complementBit` 3 = -9
+-1 `complementBit` 32 = -1
+0 `complementBit` 0 = 1
+0 `complementBit` 1 = 2
+0 `complementBit` 2 = 4
+0 `complementBit` 3 = 8
+0 `complementBit` 32 = 0
+1 `complementBit` 0 = 0
+1 `complementBit` 1 = 3
+1 `complementBit` 2 = 5
+1 `complementBit` 3 = 9
+1 `complementBit` 32 = 1
+2 `complementBit` 0 = 3
+2 `complementBit` 1 = 0
+2 `complementBit` 2 = 6
+2 `complementBit` 3 = 10
+2 `complementBit` 32 = 2
+3 `complementBit` 0 = 2
+3 `complementBit` 1 = 1
+3 `complementBit` 2 = 7
+3 `complementBit` 3 = 11
+3 `complementBit` 32 = 3
+#
+-3 `testBit` 0 = True
+-3 `testBit` 1 = False
+-3 `testBit` 2 = True
+-3 `testBit` 3 = True
+-3 `testBit` 32 = False
+-2 `testBit` 0 = False
+-2 `testBit` 1 = True
+-2 `testBit` 2 = True
+-2 `testBit` 3 = True
+-2 `testBit` 32 = False
+-1 `testBit` 0 = True
+-1 `testBit` 1 = True
+-1 `testBit` 2 = True
+-1 `testBit` 3 = True
+-1 `testBit` 32 = False
+0 `testBit` 0 = False
+0 `testBit` 1 = False
+0 `testBit` 2 = False
+0 `testBit` 3 = False
+0 `testBit` 32 = False
+1 `testBit` 0 = True
+1 `testBit` 1 = False
+1 `testBit` 2 = False
+1 `testBit` 3 = False
+1 `testBit` 32 = False
+2 `testBit` 0 = False
+2 `testBit` 1 = True
+2 `testBit` 2 = False
+2 `testBit` 3 = False
+2 `testBit` 32 = False
+3 `testBit` 0 = True
+3 `testBit` 1 = True
+3 `testBit` 2 = False
+3 `testBit` 3 = False
+3 `testBit` 32 = False
+#
+bitSize -3 = 8
+bitSize -2 = 8
+bitSize -1 = 8
+bitSize 0 = 8
+bitSize 1 = 8
+bitSize 2 = 8
+bitSize 3 = 8
+#
+isSigned -3 = True
+isSigned -2 = True
+isSigned -1 = True
+isSigned 0 = True
+isSigned 1 = True
+isSigned 2 = True
+isSigned 3 = True
+#
+--------------------------------
+--Testing Int16
+--------------------------------
+testBounded
+(32767,-32768,-32767)
+(32766,32767,-32768)
+testEnum
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
+testReadShow
+[-3,-2,-1,0,1,2,3]
+[-3,-2,-1,0,1,2,3]
+testEq
+-3 == -3 = True
+-3 == -2 = False
+-3 == -1 = False
+-3 == 0 = False
+-3 == 1 = False
+-3 == 2 = False
+-3 == 3 = False
+-2 == -3 = False
+-2 == -2 = True
+-2 == -1 = False
+-2 == 0 = False
+-2 == 1 = False
+-2 == 2 = False
+-2 == 3 = False
+-1 == -3 = False
+-1 == -2 = False
+-1 == -1 = True
+-1 == 0 = False
+-1 == 1 = False
+-1 == 2 = False
+-1 == 3 = False
+0 == -3 = False
+0 == -2 = False
+0 == -1 = False
+0 == 0 = True
+0 == 1 = False
+0 == 2 = False
+0 == 3 = False
+1 == -3 = False
+1 == -2 = False
+1 == -1 = False
+1 == 0 = False
+1 == 1 = True
+1 == 2 = False
+1 == 3 = False
+2 == -3 = False
+2 == -2 = False
+2 == -1 = False
+2 == 0 = False
+2 == 1 = False
+2 == 2 = True
+2 == 3 = False
+3 == -3 = False
+3 == -2 = False
+3 == -1 = False
+3 == 0 = False
+3 == 1 = False
+3 == 2 = False
+3 == 3 = True
+#
+-3 /= -3 = False
+-3 /= -2 = True
+-3 /= -1 = True
+-3 /= 0 = True
+-3 /= 1 = True
+-3 /= 2 = True
+-3 /= 3 = True
+-2 /= -3 = True
+-2 /= -2 = False
+-2 /= -1 = True
+-2 /= 0 = True
+-2 /= 1 = True
+-2 /= 2 = True
+-2 /= 3 = True
+-1 /= -3 = True
+-1 /= -2 = True
+-1 /= -1 = False
+-1 /= 0 = True
+-1 /= 1 = True
+-1 /= 2 = True
+-1 /= 3 = True
+0 /= -3 = True
+0 /= -2 = True
+0 /= -1 = True
+0 /= 0 = False
+0 /= 1 = True
+0 /= 2 = True
+0 /= 3 = True
+1 /= -3 = True
+1 /= -2 = True
+1 /= -1 = True
+1 /= 0 = True
+1 /= 1 = False
+1 /= 2 = True
+1 /= 3 = True
+2 /= -3 = True
+2 /= -2 = True
+2 /= -1 = True
+2 /= 0 = True
+2 /= 1 = True
+2 /= 2 = False
+2 /= 3 = True
+3 /= -3 = True
+3 /= -2 = True
+3 /= -1 = True
+3 /= 0 = True
+3 /= 1 = True
+3 /= 2 = True
+3 /= 3 = False
+#
+testOrd
+-3 <= -3 = True
+-3 <= -2 = True
+-3 <= -1 = True
+-3 <= 0 = True
+-3 <= 1 = True
+-3 <= 2 = True
+-3 <= 3 = True
+-2 <= -3 = False
+-2 <= -2 = True
+-2 <= -1 = True
+-2 <= 0 = True
+-2 <= 1 = True
+-2 <= 2 = True
+-2 <= 3 = True
+-1 <= -3 = False
+-1 <= -2 = False
+-1 <= -1 = True
+-1 <= 0 = True
+-1 <= 1 = True
+-1 <= 2 = True
+-1 <= 3 = True
+0 <= -3 = False
+0 <= -2 = False
+0 <= -1 = False
+0 <= 0 = True
+0 <= 1 = True
+0 <= 2 = True
+0 <= 3 = True
+1 <= -3 = False
+1 <= -2 = False
+1 <= -1 = False
+1 <= 0 = False
+1 <= 1 = True
+1 <= 2 = True
+1 <= 3 = True
+2 <= -3 = False
+2 <= -2 = False
+2 <= -1 = False
+2 <= 0 = False
+2 <= 1 = False
+2 <= 2 = True
+2 <= 3 = True
+3 <= -3 = False
+3 <= -2 = False
+3 <= -1 = False
+3 <= 0 = False
+3 <= 1 = False
+3 <= 2 = False
+3 <= 3 = True
+#
+-3 <  -3 = False
+-3 <  -2 = True
+-3 <  -1 = True
+-3 <  0 = True
+-3 <  1 = True
+-3 <  2 = True
+-3 <  3 = True
+-2 <  -3 = False
+-2 <  -2 = False
+-2 <  -1 = True
+-2 <  0 = True
+-2 <  1 = True
+-2 <  2 = True
+-2 <  3 = True
+-1 <  -3 = False
+-1 <  -2 = False
+-1 <  -1 = False
+-1 <  0 = True
+-1 <  1 = True
+-1 <  2 = True
+-1 <  3 = True
+0 <  -3 = False
+0 <  -2 = False
+0 <  -1 = False
+0 <  0 = False
+0 <  1 = True
+0 <  2 = True
+0 <  3 = True
+1 <  -3 = False
+1 <  -2 = False
+1 <  -1 = False
+1 <  0 = False
+1 <  1 = False
+1 <  2 = True
+1 <  3 = True
+2 <  -3 = False
+2 <  -2 = False
+2 <  -1 = False
+2 <  0 = False
+2 <  1 = False
+2 <  2 = False
+2 <  3 = True
+3 <  -3 = False
+3 <  -2 = False
+3 <  -1 = False
+3 <  0 = False
+3 <  1 = False
+3 <  2 = False
+3 <  3 = False
+#
+-3 >  -3 = False
+-3 >  -2 = False
+-3 >  -1 = False
+-3 >  0 = False
+-3 >  1 = False
+-3 >  2 = False
+-3 >  3 = False
+-2 >  -3 = True
+-2 >  -2 = False
+-2 >  -1 = False
+-2 >  0 = False
+-2 >  1 = False
+-2 >  2 = False
+-2 >  3 = False
+-1 >  -3 = True
+-1 >  -2 = True
+-1 >  -1 = False
+-1 >  0 = False
+-1 >  1 = False
+-1 >  2 = False
+-1 >  3 = False
+0 >  -3 = True
+0 >  -2 = True
+0 >  -1 = True
+0 >  0 = False
+0 >  1 = False
+0 >  2 = False
+0 >  3 = False
+1 >  -3 = True
+1 >  -2 = True
+1 >  -1 = True
+1 >  0 = True
+1 >  1 = False
+1 >  2 = False
+1 >  3 = False
+2 >  -3 = True
+2 >  -2 = True
+2 >  -1 = True
+2 >  0 = True
+2 >  1 = True
+2 >  2 = False
+2 >  3 = False
+3 >  -3 = True
+3 >  -2 = True
+3 >  -1 = True
+3 >  0 = True
+3 >  1 = True
+3 >  2 = True
+3 >  3 = False
+#
+-3 >= -3 = True
+-3 >= -2 = False
+-3 >= -1 = False
+-3 >= 0 = False
+-3 >= 1 = False
+-3 >= 2 = False
+-3 >= 3 = False
+-2 >= -3 = True
+-2 >= -2 = True
+-2 >= -1 = False
+-2 >= 0 = False
+-2 >= 1 = False
+-2 >= 2 = False
+-2 >= 3 = False
+-1 >= -3 = True
+-1 >= -2 = True
+-1 >= -1 = True
+-1 >= 0 = False
+-1 >= 1 = False
+-1 >= 2 = False
+-1 >= 3 = False
+0 >= -3 = True
+0 >= -2 = True
+0 >= -1 = True
+0 >= 0 = True
+0 >= 1 = False
+0 >= 2 = False
+0 >= 3 = False
+1 >= -3 = True
+1 >= -2 = True
+1 >= -1 = True
+1 >= 0 = True
+1 >= 1 = True
+1 >= 2 = False
+1 >= 3 = False
+2 >= -3 = True
+2 >= -2 = True
+2 >= -1 = True
+2 >= 0 = True
+2 >= 1 = True
+2 >= 2 = True
+2 >= 3 = False
+3 >= -3 = True
+3 >= -2 = True
+3 >= -1 = True
+3 >= 0 = True
+3 >= 1 = True
+3 >= 2 = True
+3 >= 3 = True
+#
+-3 `compare` -3 = EQ
+-3 `compare` -2 = LT
+-3 `compare` -1 = LT
+-3 `compare` 0 = LT
+-3 `compare` 1 = LT
+-3 `compare` 2 = LT
+-3 `compare` 3 = LT
+-2 `compare` -3 = GT
+-2 `compare` -2 = EQ
+-2 `compare` -1 = LT
+-2 `compare` 0 = LT
+-2 `compare` 1 = LT
+-2 `compare` 2 = LT
+-2 `compare` 3 = LT
+-1 `compare` -3 = GT
+-1 `compare` -2 = GT
+-1 `compare` -1 = EQ
+-1 `compare` 0 = LT
+-1 `compare` 1 = LT
+-1 `compare` 2 = LT
+-1 `compare` 3 = LT
+0 `compare` -3 = GT
+0 `compare` -2 = GT
+0 `compare` -1 = GT
+0 `compare` 0 = EQ
+0 `compare` 1 = LT
+0 `compare` 2 = LT
+0 `compare` 3 = LT
+1 `compare` -3 = GT
+1 `compare` -2 = GT
+1 `compare` -1 = GT
+1 `compare` 0 = GT
+1 `compare` 1 = EQ
+1 `compare` 2 = LT
+1 `compare` 3 = LT
+2 `compare` -3 = GT
+2 `compare` -2 = GT
+2 `compare` -1 = GT
+2 `compare` 0 = GT
+2 `compare` 1 = GT
+2 `compare` 2 = EQ
+2 `compare` 3 = LT
+3 `compare` -3 = GT
+3 `compare` -2 = GT
+3 `compare` -1 = GT
+3 `compare` 0 = GT
+3 `compare` 1 = GT
+3 `compare` 2 = GT
+3 `compare` 3 = EQ
+#
+testNum
+-3 + -3 = -6
+-3 + -2 = -5
+-3 + -1 = -4
+-3 + 0 = -3
+-3 + 1 = -2
+-3 + 2 = -1
+-3 + 3 = 0
+-2 + -3 = -5
+-2 + -2 = -4
+-2 + -1 = -3
+-2 + 0 = -2
+-2 + 1 = -1
+-2 + 2 = 0
+-2 + 3 = 1
+-1 + -3 = -4
+-1 + -2 = -3
+-1 + -1 = -2
+-1 + 0 = -1
+-1 + 1 = 0
+-1 + 2 = 1
+-1 + 3 = 2
+0 + -3 = -3
+0 + -2 = -2
+0 + -1 = -1
+0 + 0 = 0
+0 + 1 = 1
+0 + 2 = 2
+0 + 3 = 3
+1 + -3 = -2
+1 + -2 = -1
+1 + -1 = 0
+1 + 0 = 1
+1 + 1 = 2
+1 + 2 = 3
+1 + 3 = 4
+2 + -3 = -1
+2 + -2 = 0
+2 + -1 = 1
+2 + 0 = 2
+2 + 1 = 3
+2 + 2 = 4
+2 + 3 = 5
+3 + -3 = 0
+3 + -2 = 1
+3 + -1 = 2
+3 + 0 = 3
+3 + 1 = 4
+3 + 2 = 5
+3 + 3 = 6
+#
+-3 - -3 = 0
+-3 - -2 = -1
+-3 - -1 = -2
+-3 - 0 = -3
+-3 - 1 = -4
+-3 - 2 = -5
+-3 - 3 = -6
+-2 - -3 = 1
+-2 - -2 = 0
+-2 - -1 = -1
+-2 - 0 = -2
+-2 - 1 = -3
+-2 - 2 = -4
+-2 - 3 = -5
+-1 - -3 = 2
+-1 - -2 = 1
+-1 - -1 = 0
+-1 - 0 = -1
+-1 - 1 = -2
+-1 - 2 = -3
+-1 - 3 = -4
+0 - -3 = 3
+0 - -2 = 2
+0 - -1 = 1
+0 - 0 = 0
+0 - 1 = -1
+0 - 2 = -2
+0 - 3 = -3
+1 - -3 = 4
+1 - -2 = 3
+1 - -1 = 2
+1 - 0 = 1
+1 - 1 = 0
+1 - 2 = -1
+1 - 3 = -2
+2 - -3 = 5
+2 - -2 = 4
+2 - -1 = 3
+2 - 0 = 2
+2 - 1 = 1
+2 - 2 = 0
+2 - 3 = -1
+3 - -3 = 6
+3 - -2 = 5
+3 - -1 = 4
+3 - 0 = 3
+3 - 1 = 2
+3 - 2 = 1
+3 - 3 = 0
+#
+-3 * -3 = 9
+-3 * -2 = 6
+-3 * -1 = 3
+-3 * 0 = 0
+-3 * 1 = -3
+-3 * 2 = -6
+-3 * 3 = -9
+-2 * -3 = 6
+-2 * -2 = 4
+-2 * -1 = 2
+-2 * 0 = 0
+-2 * 1 = -2
+-2 * 2 = -4
+-2 * 3 = -6
+-1 * -3 = 3
+-1 * -2 = 2
+-1 * -1 = 1
+-1 * 0 = 0
+-1 * 1 = -1
+-1 * 2 = -2
+-1 * 3 = -3
+0 * -3 = 0
+0 * -2 = 0
+0 * -1 = 0
+0 * 0 = 0
+0 * 1 = 0
+0 * 2 = 0
+0 * 3 = 0
+1 * -3 = -3
+1 * -2 = -2
+1 * -1 = -1
+1 * 0 = 0
+1 * 1 = 1
+1 * 2 = 2
+1 * 3 = 3
+2 * -3 = -6
+2 * -2 = -4
+2 * -1 = -2
+2 * 0 = 0
+2 * 1 = 2
+2 * 2 = 4
+2 * 3 = 6
+3 * -3 = -9
+3 * -2 = -6
+3 * -1 = -3
+3 * 0 = 0
+3 * 1 = 3
+3 * 2 = 6
+3 * 3 = 9
+#
+negate -3 = 3
+negate -2 = 2
+negate -1 = 1
+negate 0 = 0
+negate 1 = -1
+negate 2 = -2
+negate 3 = -3
+#
+testReal
+toRational -3 = -3 % 1
+toRational -2 = -2 % 1
+toRational -1 = -1 % 1
+toRational 0 = 0 % 1
+toRational 1 = 1 % 1
+toRational 2 = 2 % 1
+toRational 3 = 3 % 1
+#
+testIntegral
+-3 `divMod`  -3 = (1,0)
+-3 `divMod`  -2 = (1,-1)
+-3 `divMod`  -1 = (3,0)
+-3 `divMod`  1 = (-3,0)
+-3 `divMod`  2 = (-2,1)
+-3 `divMod`  3 = (-1,0)
+-2 `divMod`  -3 = (0,-2)
+-2 `divMod`  -2 = (1,0)
+-2 `divMod`  -1 = (2,0)
+-2 `divMod`  1 = (-2,0)
+-2 `divMod`  2 = (-1,0)
+-2 `divMod`  3 = (-1,1)
+-1 `divMod`  -3 = (0,-1)
+-1 `divMod`  -2 = (0,-1)
+-1 `divMod`  -1 = (1,0)
+-1 `divMod`  1 = (-1,0)
+-1 `divMod`  2 = (-1,1)
+-1 `divMod`  3 = (-1,2)
+0 `divMod`  -3 = (0,0)
+0 `divMod`  -2 = (0,0)
+0 `divMod`  -1 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  -3 = (-1,-2)
+1 `divMod`  -2 = (-1,-1)
+1 `divMod`  -1 = (-1,0)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  -3 = (-1,-1)
+2 `divMod`  -2 = (-1,0)
+2 `divMod`  -1 = (-2,0)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  -3 = (-1,0)
+3 `divMod`  -2 = (-2,-1)
+3 `divMod`  -1 = (-3,0)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
+#
+-3 `div`     -3 = 1
+-3 `div`     -2 = 1
+-3 `div`     -1 = 3
+-3 `div`     1 = -3
+-3 `div`     2 = -2
+-3 `div`     3 = -1
+-2 `div`     -3 = 0
+-2 `div`     -2 = 1
+-2 `div`     -1 = 2
+-2 `div`     1 = -2
+-2 `div`     2 = -1
+-2 `div`     3 = -1
+-1 `div`     -3 = 0
+-1 `div`     -2 = 0
+-1 `div`     -1 = 1
+-1 `div`     1 = -1
+-1 `div`     2 = -1
+-1 `div`     3 = -1
+0 `div`     -3 = 0
+0 `div`     -2 = 0
+0 `div`     -1 = 0
+0 `div`     1 = 0
+0 `div`     2 = 0
+0 `div`     3 = 0
+1 `div`     -3 = -1
+1 `div`     -2 = -1
+1 `div`     -1 = -1
+1 `div`     1 = 1
+1 `div`     2 = 0
+1 `div`     3 = 0
+2 `div`     -3 = -1
+2 `div`     -2 = -1
+2 `div`     -1 = -2
+2 `div`     1 = 2
+2 `div`     2 = 1
+2 `div`     3 = 0
+3 `div`     -3 = -1
+3 `div`     -2 = -2
+3 `div`     -1 = -3
+3 `div`     1 = 3
+3 `div`     2 = 1
+3 `div`     3 = 1
+#
+-3 `mod`     -3 = 0
+-3 `mod`     -2 = -1
+-3 `mod`     -1 = 0
+-3 `mod`     1 = 0
+-3 `mod`     2 = 1
+-3 `mod`     3 = 0
+-2 `mod`     -3 = -2
+-2 `mod`     -2 = 0
+-2 `mod`     -1 = 0
+-2 `mod`     1 = 0
+-2 `mod`     2 = 0
+-2 `mod`     3 = 1
+-1 `mod`     -3 = -1
+-1 `mod`     -2 = -1
+-1 `mod`     -1 = 0
+-1 `mod`     1 = 0
+-1 `mod`     2 = 1
+-1 `mod`     3 = 2
+0 `mod`     -3 = 0
+0 `mod`     -2 = 0
+0 `mod`     -1 = 0
+0 `mod`     1 = 0
+0 `mod`     2 = 0
+0 `mod`     3 = 0
+1 `mod`     -3 = -2
+1 `mod`     -2 = -1
+1 `mod`     -1 = 0
+1 `mod`     1 = 0
+1 `mod`     2 = 1
+1 `mod`     3 = 1
+2 `mod`     -3 = -1
+2 `mod`     -2 = 0
+2 `mod`     -1 = 0
+2 `mod`     1 = 0
+2 `mod`     2 = 0
+2 `mod`     3 = 2
+3 `mod`     -3 = 0
+3 `mod`     -2 = -1
+3 `mod`     -1 = 0
+3 `mod`     1 = 0
+3 `mod`     2 = 1
+3 `mod`     3 = 0
+#
+-3 `quotRem` -3 = (1,0)
+-3 `quotRem` -2 = (1,-1)
+-3 `quotRem` -1 = (3,0)
+-3 `quotRem` 1 = (-3,0)
+-3 `quotRem` 2 = (-1,-1)
+-3 `quotRem` 3 = (-1,0)
+-2 `quotRem` -3 = (0,-2)
+-2 `quotRem` -2 = (1,0)
+-2 `quotRem` -1 = (2,0)
+-2 `quotRem` 1 = (-2,0)
+-2 `quotRem` 2 = (-1,0)
+-2 `quotRem` 3 = (0,-2)
+-1 `quotRem` -3 = (0,-1)
+-1 `quotRem` -2 = (0,-1)
+-1 `quotRem` -1 = (1,0)
+-1 `quotRem` 1 = (-1,0)
+-1 `quotRem` 2 = (0,-1)
+-1 `quotRem` 3 = (0,-1)
+0 `quotRem` -3 = (0,0)
+0 `quotRem` -2 = (0,0)
+0 `quotRem` -1 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` -3 = (0,1)
+1 `quotRem` -2 = (0,1)
+1 `quotRem` -1 = (-1,0)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` -3 = (0,2)
+2 `quotRem` -2 = (-1,0)
+2 `quotRem` -1 = (-2,0)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` -3 = (-1,0)
+3 `quotRem` -2 = (-1,1)
+3 `quotRem` -1 = (-3,0)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
+#
+-3 `quot`    -3 = 1
+-3 `quot`    -2 = 1
+-3 `quot`    -1 = 3
+-3 `quot`    1 = -3
+-3 `quot`    2 = -1
+-3 `quot`    3 = -1
+-2 `quot`    -3 = 0
+-2 `quot`    -2 = 1
+-2 `quot`    -1 = 2
+-2 `quot`    1 = -2
+-2 `quot`    2 = -1
+-2 `quot`    3 = 0
+-1 `quot`    -3 = 0
+-1 `quot`    -2 = 0
+-1 `quot`    -1 = 1
+-1 `quot`    1 = -1
+-1 `quot`    2 = 0
+-1 `quot`    3 = 0
+0 `quot`    -3 = 0
+0 `quot`    -2 = 0
+0 `quot`    -1 = 0
+0 `quot`    1 = 0
+0 `quot`    2 = 0
+0 `quot`    3 = 0
+1 `quot`    -3 = 0
+1 `quot`    -2 = 0
+1 `quot`    -1 = -1
+1 `quot`    1 = 1
+1 `quot`    2 = 0
+1 `quot`    3 = 0
+2 `quot`    -3 = 0
+2 `quot`    -2 = -1
+2 `quot`    -1 = -2
+2 `quot`    1 = 2
+2 `quot`    2 = 1
+2 `quot`    3 = 0
+3 `quot`    -3 = -1
+3 `quot`    -2 = -1
+3 `quot`    -1 = -3
+3 `quot`    1 = 3
+3 `quot`    2 = 1
+3 `quot`    3 = 1
+#
+-3 `rem`     -3 = 0
+-3 `rem`     -2 = -1
+-3 `rem`     -1 = 0
+-3 `rem`     1 = 0
+-3 `rem`     2 = -1
+-3 `rem`     3 = 0
+-2 `rem`     -3 = -2
+-2 `rem`     -2 = 0
+-2 `rem`     -1 = 0
+-2 `rem`     1 = 0
+-2 `rem`     2 = 0
+-2 `rem`     3 = -2
+-1 `rem`     -3 = -1
+-1 `rem`     -2 = -1
+-1 `rem`     -1 = 0
+-1 `rem`     1 = 0
+-1 `rem`     2 = -1
+-1 `rem`     3 = -1
+0 `rem`     -3 = 0
+0 `rem`     -2 = 0
+0 `rem`     -1 = 0
+0 `rem`     1 = 0
+0 `rem`     2 = 0
+0 `rem`     3 = 0
+1 `rem`     -3 = 1
+1 `rem`     -2 = 1
+1 `rem`     -1 = 0
+1 `rem`     1 = 0
+1 `rem`     2 = 1
+1 `rem`     3 = 1
+2 `rem`     -3 = 2
+2 `rem`     -2 = 0
+2 `rem`     -1 = 0
+2 `rem`     1 = 0
+2 `rem`     2 = 0
+2 `rem`     3 = 2
+3 `rem`     -3 = 0
+3 `rem`     -2 = 1
+3 `rem`     -1 = 0
+3 `rem`     1 = 0
+3 `rem`     2 = 1
+3 `rem`     3 = 0
+#
+testBits
+-3 .&.   -3 = -3
+-3 .&.   -2 = -4
+-3 .&.   -1 = -3
+-3 .&.   1 = 1
+-3 .&.   2 = 0
+-3 .&.   3 = 1
+-2 .&.   -3 = -4
+-2 .&.   -2 = -2
+-2 .&.   -1 = -2
+-2 .&.   1 = 0
+-2 .&.   2 = 2
+-2 .&.   3 = 2
+-1 .&.   -3 = -3
+-1 .&.   -2 = -2
+-1 .&.   -1 = -1
+-1 .&.   1 = 1
+-1 .&.   2 = 2
+-1 .&.   3 = 3
+0 .&.   -3 = 0
+0 .&.   -2 = 0
+0 .&.   -1 = 0
+0 .&.   1 = 0
+0 .&.   2 = 0
+0 .&.   3 = 0
+1 .&.   -3 = 1
+1 .&.   -2 = 0
+1 .&.   -1 = 1
+1 .&.   1 = 1
+1 .&.   2 = 0
+1 .&.   3 = 1
+2 .&.   -3 = 0
+2 .&.   -2 = 2
+2 .&.   -1 = 2
+2 .&.   1 = 0
+2 .&.   2 = 2
+2 .&.   3 = 2
+3 .&.   -3 = 1
+3 .&.   -2 = 2
+3 .&.   -1 = 3
+3 .&.   1 = 1
+3 .&.   2 = 2
+3 .&.   3 = 3
+#
+-3 .|.   -3 = -3
+-3 .|.   -2 = -1
+-3 .|.   -1 = -1
+-3 .|.   1 = -3
+-3 .|.   2 = -1
+-3 .|.   3 = -1
+-2 .|.   -3 = -1
+-2 .|.   -2 = -2
+-2 .|.   -1 = -1
+-2 .|.   1 = -1
+-2 .|.   2 = -2
+-2 .|.   3 = -1
+-1 .|.   -3 = -1
+-1 .|.   -2 = -1
+-1 .|.   -1 = -1
+-1 .|.   1 = -1
+-1 .|.   2 = -1
+-1 .|.   3 = -1
+0 .|.   -3 = -3
+0 .|.   -2 = -2
+0 .|.   -1 = -1
+0 .|.   1 = 1
+0 .|.   2 = 2
+0 .|.   3 = 3
+1 .|.   -3 = -3
+1 .|.   -2 = -1
+1 .|.   -1 = -1
+1 .|.   1 = 1
+1 .|.   2 = 3
+1 .|.   3 = 3
+2 .|.   -3 = -1
+2 .|.   -2 = -2
+2 .|.   -1 = -1
+2 .|.   1 = 3
+2 .|.   2 = 2
+2 .|.   3 = 3
+3 .|.   -3 = -1
+3 .|.   -2 = -1
+3 .|.   -1 = -1
+3 .|.   1 = 3
+3 .|.   2 = 3
+3 .|.   3 = 3
+#
+-3 `xor` -3 = 0
+-3 `xor` -2 = 3
+-3 `xor` -1 = 2
+-3 `xor` 1 = -4
+-3 `xor` 2 = -1
+-3 `xor` 3 = -2
+-2 `xor` -3 = 3
+-2 `xor` -2 = 0
+-2 `xor` -1 = 1
+-2 `xor` 1 = -1
+-2 `xor` 2 = -4
+-2 `xor` 3 = -3
+-1 `xor` -3 = 2
+-1 `xor` -2 = 1
+-1 `xor` -1 = 0
+-1 `xor` 1 = -2
+-1 `xor` 2 = -3
+-1 `xor` 3 = -4
+0 `xor` -3 = -3
+0 `xor` -2 = -2
+0 `xor` -1 = -1
+0 `xor` 1 = 1
+0 `xor` 2 = 2
+0 `xor` 3 = 3
+1 `xor` -3 = -4
+1 `xor` -2 = -1
+1 `xor` -1 = -2
+1 `xor` 1 = 0
+1 `xor` 2 = 3
+1 `xor` 3 = 2
+2 `xor` -3 = -1
+2 `xor` -2 = -4
+2 `xor` -1 = -3
+2 `xor` 1 = 3
+2 `xor` 2 = 0
 2 `xor` 3 = 1
  
 3 `xor` -3 = -2
@@ -1062,61 +3367,111 @@ complement 1 = -2
 complement 2 = -3
 complement 3 = -4
 #
--3 `shift` 0 = -3
--3 `shift` 1 = -6
--3 `shift` 2 = -12
--3 `shift` 3 = -24
--2 `shift` 0 = -2
--2 `shift` 1 = -4
--2 `shift` 2 = -8
--2 `shift` 3 = -16
--1 `shift` 0 = -1
--1 `shift` 1 = -2
--1 `shift` 2 = -4
--1 `shift` 3 = -8
-0 `shift` 0 = 0
-0 `shift` 1 = 0
-0 `shift` 2 = 0
-0 `shift` 3 = 0
-1 `shift` 0 = 1
-1 `shift` 1 = 2
-1 `shift` 2 = 4
-1 `shift` 3 = 8
-2 `shift` 0 = 2
-2 `shift` 1 = 4
-2 `shift` 2 = 8
-2 `shift` 3 = 16
-3 `shift` 0 = 3
-3 `shift` 1 = 6
-3 `shift` 2 = 12
-3 `shift` 3 = 24
+-3 `shiftL` 0 = -3
+-3 `shiftL` 1 = -6
+-3 `shiftL` 2 = -12
+-3 `shiftL` 3 = -24
+-3 `shiftL` 32 = 0
+-2 `shiftL` 0 = -2
+-2 `shiftL` 1 = -4
+-2 `shiftL` 2 = -8
+-2 `shiftL` 3 = -16
+-2 `shiftL` 32 = 0
+-1 `shiftL` 0 = -1
+-1 `shiftL` 1 = -2
+-1 `shiftL` 2 = -4
+-1 `shiftL` 3 = -8
+-1 `shiftL` 32 = 0
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 0
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 0
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 0
+#
+-3 `shiftR` 0 = -3
+-3 `shiftR` 1 = -2
+-3 `shiftR` 2 = -1
+-3 `shiftR` 3 = -1
+-3 `shiftR` 32 = -1
+-2 `shiftR` 0 = -2
+-2 `shiftR` 1 = -1
+-2 `shiftR` 2 = -1
+-2 `shiftR` 3 = -1
+-2 `shiftR` 32 = -1
+-1 `shiftR` 0 = -1
+-1 `shiftR` 1 = -1
+-1 `shiftR` 2 = -1
+-1 `shiftR` 3 = -1
+-1 `shiftR` 32 = -1
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
  
 #
--3 `rotate` -3 = -65
--3 `rotate` -2 = 127
--3 `rotate` -1 = -2
+-3 `rotate` -3 = -24545
+-3 `rotate` -2 = 16447
+-3 `rotate` -1 = -32642
 -3 `rotate` 0 = -3
 -3 `rotate` 1 = -5
 -3 `rotate` 2 = -9
 -3 `rotate` 3 = -17
  
--2 `rotate` -3 = -33
--2 `rotate` -2 = -65
+-2 `rotate` -3 = -16353
+-2 `rotate` -2 = -32705
 -2 `rotate` -1 = 127
 -2 `rotate` 0 = -2
 -2 `rotate` 1 = -3
 -2 `rotate` 2 = -5
 -2 `rotate` 3 = -9
  
--1 `rotate` -3 = -1
--1 `rotate` -2 = -1
--1 `rotate` -1 = -1
+-1 `rotate` -3 = -8161
+-1 `rotate` -2 = -16321
+-1 `rotate` -1 = -32641
 -1 `rotate` 0 = -1
 -1 `rotate` 1 = -1
 -1 `rotate` 2 = -1
@@ -1130,25 +3485,25 @@ complement 3 = -4
 0 `rotate` 2 = 0
 0 `rotate` 3 = 0
  
-1 `rotate` -3 = 32
-1 `rotate` -2 = 64
-1 `rotate` -1 = -128
+1 `rotate` -3 = 8192
+1 `rotate` -2 = 16384
+1 `rotate` -1 = -32768
 1 `rotate` 0 = 1
 1 `rotate` 1 = 2
 1 `rotate` 2 = 4
 1 `rotate` 3 = 8
  
-2 `rotate` -3 = 64
-2 `rotate` -2 = -128
+2 `rotate` -3 = 16384
+2 `rotate` -2 = -32768
 2 `rotate` -1 = 1
 2 `rotate` 0 = 2
 2 `rotate` 1 = 4
 2 `rotate` 2 = 8
 2 `rotate` 3 = 16
  
-3 `rotate` -3 = 96
-3 `rotate` -2 = -64
-3 `rotate` -1 = -127
+3 `rotate` -3 = 24576
+3 `rotate` -2 = -16384
+3 `rotate` -1 = -32767
 3 `rotate` 0 = 3
 3 `rotate` 1 = 6
 3 `rotate` 2 = 12
@@ -1164,153 +3519,181 @@ bit 3 = 8
 -3 `setBit` 1 = -1
 -3 `setBit` 2 = -3
 -3 `setBit` 3 = -3
+-3 `setBit` 32 = -3
  
 -2 `setBit` 0 = -1
 -2 `setBit` 1 = -2
 -2 `setBit` 2 = -2
 -2 `setBit` 3 = -2
+-2 `setBit` 32 = -2
  
 -1 `setBit` 0 = -1
 -1 `setBit` 1 = -1
 -1 `setBit` 2 = -1
 -1 `setBit` 3 = -1
+-1 `setBit` 32 = -1
  
 0 `setBit` 0 = 1
 0 `setBit` 1 = 2
 0 `setBit` 2 = 4
 0 `setBit` 3 = 8
+0 `setBit` 32 = 0
  
 1 `setBit` 0 = 1
 1 `setBit` 1 = 3
 1 `setBit` 2 = 5
 1 `setBit` 3 = 9
+1 `setBit` 32 = 1
  
 2 `setBit` 0 = 3
 2 `setBit` 1 = 2
 2 `setBit` 2 = 6
 2 `setBit` 3 = 10
+2 `setBit` 32 = 2
  
 3 `setBit` 0 = 3
 3 `setBit` 1 = 3
 3 `setBit` 2 = 7
 3 `setBit` 3 = 11
+3 `setBit` 32 = 3
  
 #
 -3 `clearBit` 0 = -4
 -3 `clearBit` 1 = -3
 -3 `clearBit` 2 = -7
 -3 `clearBit` 3 = -11
+-3 `clearBit` 32 = -3
  
 -2 `clearBit` 0 = -2
 -2 `clearBit` 1 = -4
 -2 `clearBit` 2 = -6
 -2 `clearBit` 3 = -10
+-2 `clearBit` 32 = -2
  
 -1 `clearBit` 0 = -2
 -1 `clearBit` 1 = -3
 -1 `clearBit` 2 = -5
 -1 `clearBit` 3 = -9
+-1 `clearBit` 32 = -1
  
 0 `clearBit` 0 = 0
 0 `clearBit` 1 = 0
 0 `clearBit` 2 = 0
 0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
  
 1 `clearBit` 0 = 0
 1 `clearBit` 1 = 1
 1 `clearBit` 2 = 1
 1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
  
 2 `clearBit` 0 = 2
 2 `clearBit` 1 = 0
 2 `clearBit` 2 = 2
 2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
  
 3 `clearBit` 0 = 2
 3 `clearBit` 1 = 1
 3 `clearBit` 2 = 3
 3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
  
 #
 -3 `complementBit` 0 = -4
 -3 `complementBit` 1 = -1
 -3 `complementBit` 2 = -7
 -3 `complementBit` 3 = -11
+-3 `complementBit` 32 = -3
  
 -2 `complementBit` 0 = -1
 -2 `complementBit` 1 = -4
 -2 `complementBit` 2 = -6
 -2 `complementBit` 3 = -10
+-2 `complementBit` 32 = -2
  
 -1 `complementBit` 0 = -2
 -1 `complementBit` 1 = -3
 -1 `complementBit` 2 = -5
 -1 `complementBit` 3 = -9
+-1 `complementBit` 32 = -1
  
 0 `complementBit` 0 = 1
 0 `complementBit` 1 = 2
 0 `complementBit` 2 = 4
 0 `complementBit` 3 = 8
+0 `complementBit` 32 = 0
  
 1 `complementBit` 0 = 0
 1 `complementBit` 1 = 3
 1 `complementBit` 2 = 5
 1 `complementBit` 3 = 9
+1 `complementBit` 32 = 1
  
 2 `complementBit` 0 = 3
 2 `complementBit` 1 = 0
 2 `complementBit` 2 = 6
 2 `complementBit` 3 = 10
+2 `complementBit` 32 = 2
  
 3 `complementBit` 0 = 2
 3 `complementBit` 1 = 1
 3 `complementBit` 2 = 7
 3 `complementBit` 3 = 11
+3 `complementBit` 32 = 3
  
 #
 -3 `testBit` 0 = True
 -3 `testBit` 1 = False
 -3 `testBit` 2 = True
 -3 `testBit` 3 = True
+-3 `testBit` 32 = False
  
 -2 `testBit` 0 = False
 -2 `testBit` 1 = True
 -2 `testBit` 2 = True
 -2 `testBit` 3 = True
+-2 `testBit` 32 = False
  
 -1 `testBit` 0 = True
 -1 `testBit` 1 = True
 -1 `testBit` 2 = True
 -1 `testBit` 3 = True
+-1 `testBit` 32 = False
  
 0 `testBit` 0 = False
 0 `testBit` 1 = False
 0 `testBit` 2 = False
 0 `testBit` 3 = False
+0 `testBit` 32 = False
  
 1 `testBit` 0 = True
 1 `testBit` 1 = False
 1 `testBit` 2 = False
 1 `testBit` 3 = False
+1 `testBit` 32 = False
  
 2 `testBit` 0 = False
 2 `testBit` 1 = True
 2 `testBit` 2 = False
 2 `testBit` 3 = False
+2 `testBit` 32 = False
  
 3 `testBit` 0 = True
 3 `testBit` 1 = True
 3 `testBit` 2 = False
 3 `testBit` 3 = False
+3 `testBit` 32 = False
  
 #
-bitSize -3 = 8
-bitSize -2 = 8
-bitSize -1 = 8
-bitSize 0 = 8
-bitSize 1 = 8
-bitSize 2 = 8
-bitSize 3 = 8
+bitSize -3 = 16
+bitSize -2 = 16
+bitSize -1 = 16
+bitSize 0 = 16
+bitSize 1 = 16
+bitSize 2 = 16
+bitSize 3 = 16
 #
 isSigned -3 = True
 isSigned -2 = True
@@ -1321,20 +3704,19 @@ isSigned 2 = True
 isSigned 3 = True
 #
 --------------------------------
---------------------------------
---Testing Int16
+--Testing Int32
 --------------------------------
 testBounded
-(32767, -32768, -32767)
-(32766, 32767, -32768)
+(2147483647,-2147483648,-2147483647)
+(2147483646,2147483647,-2147483648)
 testEnum
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
 testReadShow
-[-3, -2, -1, 0, 1, 2, 3]
-[-3, -2, -1, 0, 1, 2, 3]
+[-3,-2,-1,0,1,2,3]
+[-3,-2,-1,0,1,2,3]
 testEq
 -3 == -3 = True
 -3 == -2 = False
@@ -1926,54 +4308,54 @@ toRational 2 = 2 % 1
 toRational 3 = 3 % 1
 #
 testIntegral
--3 `divMod`  -3 = (1, 0)
--3 `divMod`  -2 = (1, -1)
--3 `divMod`  -1 = (3, 0)
--3 `divMod`  1 = (-3, 0)
--3 `divMod`  2 = (-2, 1)
--3 `divMod`  3 = (-1, 0)
--2 `divMod`  -3 = (0, -2)
--2 `divMod`  -2 = (1, 0)
--2 `divMod`  -1 = (2, 0)
--2 `divMod`  1 = (-2, 0)
--2 `divMod`  2 = (-1, 0)
--2 `divMod`  3 = (-1, 1)
--1 `divMod`  -3 = (0, -1)
--1 `divMod`  -2 = (0, -1)
--1 `divMod`  -1 = (1, 0)
--1 `divMod`  1 = (-1, 0)
--1 `divMod`  2 = (-1, 1)
--1 `divMod`  3 = (-1, 2)
-0 `divMod`  -3 = (0, 0)
-0 `divMod`  -2 = (0, 0)
-0 `divMod`  -1 = (0, 0)
-0 `divMod`  1 = (0, 0)
-0 `divMod`  2 = (0, 0)
-0 `divMod`  3 = (0, 0)
-1 `divMod`  -3 = (-1, -2)
-1 `divMod`  -2 = (-1, -1)
-1 `divMod`  -1 = (-1, 0)
-1 `divMod`  1 = (1, 0)
-1 `divMod`  2 = (0, 1)
-1 `divMod`  3 = (0, 1)
-2 `divMod`  -3 = (-1, -1)
-2 `divMod`  -2 = (-1, 0)
-2 `divMod`  -1 = (-2, 0)
-2 `divMod`  1 = (2, 0)
-2 `divMod`  2 = (1, 0)
-2 `divMod`  3 = (0, 2)
-3 `divMod`  -3 = (-1, 0)
-3 `divMod`  -2 = (-2, -1)
-3 `divMod`  -1 = (-3, 0)
-3 `divMod`  1 = (3, 0)
-3 `divMod`  2 = (1, 1)
-3 `divMod`  3 = (1, 0)
+-3 `divMod`  -3 = (1,0)
+-3 `divMod`  -2 = (1,-1)
+-3 `divMod`  -1 = (3,0)
+-3 `divMod`  1 = (-3,0)
+-3 `divMod`  2 = (-2,1)
+-3 `divMod`  3 = (-1,0)
+-2 `divMod`  -3 = (0,-2)
+-2 `divMod`  -2 = (1,0)
+-2 `divMod`  -1 = (2,0)
+-2 `divMod`  1 = (-2,0)
+-2 `divMod`  2 = (-1,0)
+-2 `divMod`  3 = (-1,1)
+-1 `divMod`  -3 = (0,-1)
+-1 `divMod`  -2 = (0,-1)
+-1 `divMod`  -1 = (1,0)
+-1 `divMod`  1 = (-1,0)
+-1 `divMod`  2 = (-1,1)
+-1 `divMod`  3 = (-1,2)
+0 `divMod`  -3 = (0,0)
+0 `divMod`  -2 = (0,0)
+0 `divMod`  -1 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  -3 = (-1,-2)
+1 `divMod`  -2 = (-1,-1)
+1 `divMod`  -1 = (-1,0)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  -3 = (-1,-1)
+2 `divMod`  -2 = (-1,0)
+2 `divMod`  -1 = (-2,0)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  -3 = (-1,0)
+3 `divMod`  -2 = (-2,-1)
+3 `divMod`  -1 = (-3,0)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
  
 #
 -3 `div`     -3 = 1
@@ -2076,54 +4458,54 @@ testIntegral
 3 `mod`     3 = 0
  
 #
--3 `quotRem` -3 = (1, 0)
--3 `quotRem` -2 = (1, -1)
--3 `quotRem` -1 = (3, 0)
--3 `quotRem` 1 = (-3, 0)
--3 `quotRem` 2 = (-1, -1)
--3 `quotRem` 3 = (-1, 0)
--2 `quotRem` -3 = (0, -2)
--2 `quotRem` -2 = (1, 0)
--2 `quotRem` -1 = (2, 0)
--2 `quotRem` 1 = (-2, 0)
--2 `quotRem` 2 = (-1, 0)
--2 `quotRem` 3 = (0, -2)
--1 `quotRem` -3 = (0, -1)
--1 `quotRem` -2 = (0, -1)
--1 `quotRem` -1 = (1, 0)
--1 `quotRem` 1 = (-1, 0)
--1 `quotRem` 2 = (0, -1)
--1 `quotRem` 3 = (0, -1)
-0 `quotRem` -3 = (0, 0)
-0 `quotRem` -2 = (0, 0)
-0 `quotRem` -1 = (0, 0)
-0 `quotRem` 1 = (0, 0)
-0 `quotRem` 2 = (0, 0)
-0 `quotRem` 3 = (0, 0)
-1 `quotRem` -3 = (0, 1)
-1 `quotRem` -2 = (0, 1)
-1 `quotRem` -1 = (-1, 0)
-1 `quotRem` 1 = (1, 0)
-1 `quotRem` 2 = (0, 1)
-1 `quotRem` 3 = (0, 1)
-2 `quotRem` -3 = (0, 2)
-2 `quotRem` -2 = (-1, 0)
-2 `quotRem` -1 = (-2, 0)
-2 `quotRem` 1 = (2, 0)
-2 `quotRem` 2 = (1, 0)
-2 `quotRem` 3 = (0, 2)
-3 `quotRem` -3 = (-1, 0)
-3 `quotRem` -2 = (-1, 1)
-3 `quotRem` -1 = (-3, 0)
-3 `quotRem` 1 = (3, 0)
-3 `quotRem` 2 = (1, 1)
-3 `quotRem` 3 = (1, 0)
+-3 `quotRem` -3 = (1,0)
+-3 `quotRem` -2 = (1,-1)
+-3 `quotRem` -1 = (3,0)
+-3 `quotRem` 1 = (-3,0)
+-3 `quotRem` 2 = (-1,-1)
+-3 `quotRem` 3 = (-1,0)
+-2 `quotRem` -3 = (0,-2)
+-2 `quotRem` -2 = (1,0)
+-2 `quotRem` -1 = (2,0)
+-2 `quotRem` 1 = (-2,0)
+-2 `quotRem` 2 = (-1,0)
+-2 `quotRem` 3 = (0,-2)
+-1 `quotRem` -3 = (0,-1)
+-1 `quotRem` -2 = (0,-1)
+-1 `quotRem` -1 = (1,0)
+-1 `quotRem` 1 = (-1,0)
+-1 `quotRem` 2 = (0,-1)
+-1 `quotRem` 3 = (0,-1)
+0 `quotRem` -3 = (0,0)
+0 `quotRem` -2 = (0,0)
+0 `quotRem` -1 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` -3 = (0,1)
+1 `quotRem` -2 = (0,1)
+1 `quotRem` -1 = (-1,0)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` -3 = (0,2)
+2 `quotRem` -2 = (-1,0)
+2 `quotRem` -1 = (-2,0)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` -3 = (-1,0)
+3 `quotRem` -2 = (-1,1)
+3 `quotRem` -1 = (-3,0)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
  
 #
 -3 `quot`    -3 = 1
@@ -2385,65 +4767,115 @@ complement 1 = -2
 complement 2 = -3
 complement 3 = -4
 #
--3 `shift` 0 = -3
--3 `shift` 1 = -6
--3 `shift` 2 = -12
--3 `shift` 3 = -24
--2 `shift` 0 = -2
--2 `shift` 1 = -4
--2 `shift` 2 = -8
--2 `shift` 3 = -16
--1 `shift` 0 = -1
--1 `shift` 1 = -2
--1 `shift` 2 = -4
--1 `shift` 3 = -8
-0 `shift` 0 = 0
-0 `shift` 1 = 0
-0 `shift` 2 = 0
-0 `shift` 3 = 0
-1 `shift` 0 = 1
-1 `shift` 1 = 2
-1 `shift` 2 = 4
-1 `shift` 3 = 8
-2 `shift` 0 = 2
-2 `shift` 1 = 4
-2 `shift` 2 = 8
-2 `shift` 3 = 16
-3 `shift` 0 = 3
-3 `shift` 1 = 6
-3 `shift` 2 = 12
-3 `shift` 3 = 24
+-3 `shiftL` 0 = -3
+-3 `shiftL` 1 = -6
+-3 `shiftL` 2 = -12
+-3 `shiftL` 3 = -24
+-3 `shiftL` 32 = 0
+-2 `shiftL` 0 = -2
+-2 `shiftL` 1 = -4
+-2 `shiftL` 2 = -8
+-2 `shiftL` 3 = -16
+-2 `shiftL` 32 = 0
+-1 `shiftL` 0 = -1
+-1 `shiftL` 1 = -2
+-1 `shiftL` 2 = -4
+-1 `shiftL` 3 = -8
+-1 `shiftL` 32 = 0
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 0
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 0
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 0
+#
+-3 `shiftR` 0 = -3
+-3 `shiftR` 1 = -2
+-3 `shiftR` 2 = -1
+-3 `shiftR` 3 = -1
+-3 `shiftR` 32 = -1
+-2 `shiftR` 0 = -2
+-2 `shiftR` 1 = -1
+-2 `shiftR` 2 = -1
+-2 `shiftR` 3 = -1
+-2 `shiftR` 32 = -1
+-1 `shiftR` 0 = -1
+-1 `shiftR` 1 = -1
+-1 `shiftR` 2 = -1
+-1 `shiftR` 3 = -1
+-1 `shiftR` 32 = -1
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
  
 #
--3 `rotate` -3 = -24545
--3 `rotate` -2 = 16447
--3 `rotate` -1 = -32642
+-3 `rotate` -3 = -1342177281
+-3 `rotate` -2 = 1610612735
+-3 `rotate` -1 = -1073741826
 -3 `rotate` 0 = -3
--3 `rotate` 1 = -5
--3 `rotate` 2 = -9
--3 `rotate` 3 = -17
+-3 `rotate` 1 = -6
+-3 `rotate` 2 = -11
+-3 `rotate` 3 = -21
  
--2 `rotate` -3 = -16353
--2 `rotate` -2 = -32705
--2 `rotate` -1 = 127
+-2 `rotate` -3 = -805306369
+-2 `rotate` -2 = -1610612737
+-2 `rotate` -1 = 1073741823
 -2 `rotate` 0 = -2
--2 `rotate` 1 = -3
--2 `rotate` 2 = -5
--2 `rotate` 3 = -9
+-2 `rotate` 1 = -4
+-2 `rotate` 2 = -7
+-2 `rotate` 3 = -13
  
--1 `rotate` -3 = -8161
--1 `rotate` -2 = -16321
--1 `rotate` -1 = -32641
+-1 `rotate` -3 = -268435457
+-1 `rotate` -2 = -536870913
+-1 `rotate` -1 = -1073741825
 -1 `rotate` 0 = -1
--1 `rotate` 1 = -1
--1 `rotate` 2 = -1
--1 `rotate` 3 = -1
+-1 `rotate` 1 = -2
+-1 `rotate` 2 = -3
+-1 `rotate` 3 = -5
  
 0 `rotate` -3 = 0
 0 `rotate` -2 = 0
@@ -2453,25 +4885,25 @@ complement 3 = -4
 0 `rotate` 2 = 0
 0 `rotate` 3 = 0
  
-1 `rotate` -3 = 8192
-1 `rotate` -2 = 16384
-1 `rotate` -1 = -32768
+1 `rotate` -3 = 536870912
+1 `rotate` -2 = 1073741824
+1 `rotate` -1 = -2147483648
 1 `rotate` 0 = 1
 1 `rotate` 1 = 2
 1 `rotate` 2 = 4
 1 `rotate` 3 = 8
  
-2 `rotate` -3 = 16384
-2 `rotate` -2 = -32768
+2 `rotate` -3 = 1073741824
+2 `rotate` -2 = -2147483648
 2 `rotate` -1 = 1
 2 `rotate` 0 = 2
 2 `rotate` 1 = 4
 2 `rotate` 2 = 8
 2 `rotate` 3 = 16
  
-3 `rotate` -3 = 24576
-3 `rotate` -2 = -16384
-3 `rotate` -1 = -32767
+3 `rotate` -3 = 1610612736
+3 `rotate` -2 = -1073741824
+3 `rotate` -1 = -2147483647
 3 `rotate` 0 = 3
 3 `rotate` 1 = 6
 3 `rotate` 2 = 12
@@ -2487,153 +4919,181 @@ bit 3 = 8
 -3 `setBit` 1 = -1
 -3 `setBit` 2 = -3
 -3 `setBit` 3 = -3
+-3 `setBit` 32 = -3
  
 -2 `setBit` 0 = -1
 -2 `setBit` 1 = -2
 -2 `setBit` 2 = -2
 -2 `setBit` 3 = -2
+-2 `setBit` 32 = -2
  
 -1 `setBit` 0 = -1
 -1 `setBit` 1 = -1
 -1 `setBit` 2 = -1
 -1 `setBit` 3 = -1
+-1 `setBit` 32 = -1
  
 0 `setBit` 0 = 1
 0 `setBit` 1 = 2
 0 `setBit` 2 = 4
 0 `setBit` 3 = 8
+0 `setBit` 32 = 0
  
 1 `setBit` 0 = 1
 1 `setBit` 1 = 3
 1 `setBit` 2 = 5
 1 `setBit` 3 = 9
+1 `setBit` 32 = 1
  
 2 `setBit` 0 = 3
 2 `setBit` 1 = 2
 2 `setBit` 2 = 6
 2 `setBit` 3 = 10
+2 `setBit` 32 = 2
  
 3 `setBit` 0 = 3
 3 `setBit` 1 = 3
 3 `setBit` 2 = 7
 3 `setBit` 3 = 11
+3 `setBit` 32 = 3
  
 #
 -3 `clearBit` 0 = -4
 -3 `clearBit` 1 = -3
 -3 `clearBit` 2 = -7
 -3 `clearBit` 3 = -11
+-3 `clearBit` 32 = -3
  
 -2 `clearBit` 0 = -2
 -2 `clearBit` 1 = -4
 -2 `clearBit` 2 = -6
 -2 `clearBit` 3 = -10
+-2 `clearBit` 32 = -2
  
 -1 `clearBit` 0 = -2
 -1 `clearBit` 1 = -3
 -1 `clearBit` 2 = -5
 -1 `clearBit` 3 = -9
+-1 `clearBit` 32 = -1
  
 0 `clearBit` 0 = 0
 0 `clearBit` 1 = 0
 0 `clearBit` 2 = 0
 0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
  
 1 `clearBit` 0 = 0
 1 `clearBit` 1 = 1
 1 `clearBit` 2 = 1
 1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
  
 2 `clearBit` 0 = 2
 2 `clearBit` 1 = 0
 2 `clearBit` 2 = 2
 2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
  
 3 `clearBit` 0 = 2
 3 `clearBit` 1 = 1
 3 `clearBit` 2 = 3
 3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
  
 #
 -3 `complementBit` 0 = -4
 -3 `complementBit` 1 = -1
 -3 `complementBit` 2 = -7
 -3 `complementBit` 3 = -11
+-3 `complementBit` 32 = -3
  
 -2 `complementBit` 0 = -1
 -2 `complementBit` 1 = -4
 -2 `complementBit` 2 = -6
 -2 `complementBit` 3 = -10
+-2 `complementBit` 32 = -2
  
 -1 `complementBit` 0 = -2
 -1 `complementBit` 1 = -3
 -1 `complementBit` 2 = -5
 -1 `complementBit` 3 = -9
+-1 `complementBit` 32 = -1
  
 0 `complementBit` 0 = 1
 0 `complementBit` 1 = 2
 0 `complementBit` 2 = 4
 0 `complementBit` 3 = 8
+0 `complementBit` 32 = 0
  
 1 `complementBit` 0 = 0
 1 `complementBit` 1 = 3
 1 `complementBit` 2 = 5
 1 `complementBit` 3 = 9
+1 `complementBit` 32 = 1
  
 2 `complementBit` 0 = 3
 2 `complementBit` 1 = 0
 2 `complementBit` 2 = 6
 2 `complementBit` 3 = 10
+2 `complementBit` 32 = 2
  
 3 `complementBit` 0 = 2
 3 `complementBit` 1 = 1
 3 `complementBit` 2 = 7
 3 `complementBit` 3 = 11
+3 `complementBit` 32 = 3
  
 #
 -3 `testBit` 0 = True
 -3 `testBit` 1 = False
 -3 `testBit` 2 = True
 -3 `testBit` 3 = True
+-3 `testBit` 32 = False
  
 -2 `testBit` 0 = False
 -2 `testBit` 1 = True
 -2 `testBit` 2 = True
 -2 `testBit` 3 = True
+-2 `testBit` 32 = False
  
 -1 `testBit` 0 = True
 -1 `testBit` 1 = True
 -1 `testBit` 2 = True
 -1 `testBit` 3 = True
+-1 `testBit` 32 = False
  
 0 `testBit` 0 = False
 0 `testBit` 1 = False
 0 `testBit` 2 = False
 0 `testBit` 3 = False
+0 `testBit` 32 = False
  
 1 `testBit` 0 = True
 1 `testBit` 1 = False
 1 `testBit` 2 = False
 1 `testBit` 3 = False
+1 `testBit` 32 = False
  
 2 `testBit` 0 = False
 2 `testBit` 1 = True
 2 `testBit` 2 = False
 2 `testBit` 3 = False
+2 `testBit` 32 = False
  
 3 `testBit` 0 = True
 3 `testBit` 1 = True
 3 `testBit` 2 = False
 3 `testBit` 3 = False
+3 `testBit` 32 = False
  
 #
-bitSize -3 = 16
-bitSize -2 = 16
-bitSize -1 = 16
-bitSize 0 = 16
-bitSize 1 = 16
-bitSize 2 = 16
-bitSize 3 = 16
+bitSize -3 = 32
+bitSize -2 = 32
+bitSize -1 = 32
+bitSize 0 = 32
+bitSize 1 = 32
+bitSize 2 = 32
+bitSize 3 = 32
 #
 isSigned -3 = True
 isSigned -2 = True
@@ -2644,129 +5104,128 @@ isSigned 2 = True
 isSigned 3 = True
 #
 --------------------------------
---------------------------------
---Testing Int32
+--Testing Word8
 --------------------------------
 testBounded
-(2147483647, -2147483648, -2147483647)
-(2147483646, 2147483647, -2147483648)
+(255,0,1)
+(254,255,0)
 testEnum
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
 testReadShow
-[-3, -2, -1, 0, 1, 2, 3]
-[-3, -2, -1, 0, 1, 2, 3]
+[253,254,255,0,1,2,3]
+[253,254,255,0,1,2,3]
 testEq
--3 == -3 = True
--3 == -2 = False
--3 == -1 = False
--3 == 0 = False
--3 == 1 = False
--3 == 2 = False
--3 == 3 = False
+253 == 253 = True
+253 == 254 = False
+253 == 255 = False
+253 == 0 = False
+253 == 1 = False
+253 == 2 = False
+253 == 3 = False
  
--2 == -3 = False
--2 == -2 = True
--2 == -1 = False
--2 == 0 = False
--2 == 1 = False
--2 == 2 = False
--2 == 3 = False
+254 == 253 = False
+254 == 254 = True
+254 == 255 = False
+254 == 0 = False
+254 == 1 = False
+254 == 2 = False
+254 == 3 = False
  
--1 == -3 = False
--1 == -2 = False
--1 == -1 = True
--1 == 0 = False
--1 == 1 = False
--1 == 2 = False
--1 == 3 = False
+255 == 253 = False
+255 == 254 = False
+255 == 255 = True
+255 == 0 = False
+255 == 1 = False
+255 == 2 = False
+255 == 3 = False
  
-0 == -3 = False
-0 == -2 = False
-0 == -1 = False
+0 == 253 = False
+0 == 254 = False
+0 == 255 = False
 0 == 0 = True
 0 == 1 = False
 0 == 2 = False
 0 == 3 = False
  
-1 == -3 = False
-1 == -2 = False
-1 == -1 = False
+1 == 253 = False
+1 == 254 = False
+1 == 255 = False
 1 == 0 = False
 1 == 1 = True
 1 == 2 = False
 1 == 3 = False
  
-2 == -3 = False
-2 == -2 = False
-2 == -1 = False
+2 == 253 = False
+2 == 254 = False
+2 == 255 = False
 2 == 0 = False
 2 == 1 = False
 2 == 2 = True
 2 == 3 = False
  
-3 == -3 = False
-3 == -2 = False
-3 == -1 = False
+3 == 253 = False
+3 == 254 = False
+3 == 255 = False
 3 == 0 = False
 3 == 1 = False
 3 == 2 = False
 3 == 3 = True
  
 #
--3 /= -3 = False
--3 /= -2 = True
--3 /= -1 = True
--3 /= 0 = True
--3 /= 1 = True
--3 /= 2 = True
--3 /= 3 = True
+253 /= 253 = False
+253 /= 254 = True
+253 /= 255 = True
+253 /= 0 = True
+253 /= 1 = True
+253 /= 2 = True
+253 /= 3 = True
  
--2 /= -3 = True
--2 /= -2 = False
--2 /= -1 = True
--2 /= 0 = True
--2 /= 1 = True
--2 /= 2 = True
--2 /= 3 = True
+254 /= 253 = True
+254 /= 254 = False
+254 /= 255 = True
+254 /= 0 = True
+254 /= 1 = True
+254 /= 2 = True
+254 /= 3 = True
  
--1 /= -3 = True
--1 /= -2 = True
--1 /= -1 = False
--1 /= 0 = True
--1 /= 1 = True
--1 /= 2 = True
--1 /= 3 = True
+255 /= 253 = True
+255 /= 254 = True
+255 /= 255 = False
+255 /= 0 = True
+255 /= 1 = True
+255 /= 2 = True
+255 /= 3 = True
  
-0 /= -3 = True
-0 /= -2 = True
-0 /= -1 = True
+0 /= 253 = True
+0 /= 254 = True
+0 /= 255 = True
 0 /= 0 = False
 0 /= 1 = True
 0 /= 2 = True
 0 /= 3 = True
  
-1 /= -3 = True
-1 /= -2 = True
-1 /= -1 = True
+1 /= 253 = True
+1 /= 254 = True
+1 /= 255 = True
 1 /= 0 = True
 1 /= 1 = False
 1 /= 2 = True
 1 /= 3 = True
  
-2 /= -3 = True
-2 /= -2 = True
-2 /= -1 = True
+2 /= 253 = True
+2 /= 254 = True
+2 /= 255 = True
 2 /= 0 = True
 2 /= 1 = True
 2 /= 2 = False
 2 /= 3 = True
  
-3 /= -3 = True
-3 /= -2 = True
-3 /= -1 = True
+3 /= 253 = True
+3 /= 254 = True
+3 /= 255 = True
 3 /= 0 = True
 3 /= 1 = True
 3 /= 2 = True
@@ -2774,285 +5233,285 @@ testEq
  
 #
 testOrd
--3 <= -3 = True
--3 <= -2 = True
--3 <= -1 = True
--3 <= 0 = True
--3 <= 1 = True
--3 <= 2 = True
--3 <= 3 = True
+253 <= 253 = True
+253 <= 254 = True
+253 <= 255 = True
+253 <= 0 = False
+253 <= 1 = False
+253 <= 2 = False
+253 <= 3 = False
  
--2 <= -3 = False
--2 <= -2 = True
--2 <= -1 = True
--2 <= 0 = True
--2 <= 1 = True
--2 <= 2 = True
--2 <= 3 = True
+254 <= 253 = False
+254 <= 254 = True
+254 <= 255 = True
+254 <= 0 = False
+254 <= 1 = False
+254 <= 2 = False
+254 <= 3 = False
  
--1 <= -3 = False
--1 <= -2 = False
--1 <= -1 = True
--1 <= 0 = True
--1 <= 1 = True
--1 <= 2 = True
--1 <= 3 = True
+255 <= 253 = False
+255 <= 254 = False
+255 <= 255 = True
+255 <= 0 = False
+255 <= 1 = False
+255 <= 2 = False
+255 <= 3 = False
  
-0 <= -3 = False
-0 <= -2 = False
-0 <= -1 = False
+0 <= 253 = True
+0 <= 254 = True
+0 <= 255 = True
 0 <= 0 = True
 0 <= 1 = True
 0 <= 2 = True
 0 <= 3 = True
  
-1 <= -3 = False
-1 <= -2 = False
-1 <= -1 = False
+1 <= 253 = True
+1 <= 254 = True
+1 <= 255 = True
 1 <= 0 = False
 1 <= 1 = True
 1 <= 2 = True
 1 <= 3 = True
  
-2 <= -3 = False
-2 <= -2 = False
-2 <= -1 = False
+2 <= 253 = True
+2 <= 254 = True
+2 <= 255 = True
 2 <= 0 = False
 2 <= 1 = False
 2 <= 2 = True
 2 <= 3 = True
  
-3 <= -3 = False
-3 <= -2 = False
-3 <= -1 = False
+3 <= 253 = True
+3 <= 254 = True
+3 <= 255 = True
 3 <= 0 = False
 3 <= 1 = False
 3 <= 2 = False
 3 <= 3 = True
  
 #
--3 <  -3 = False
--3 <  -2 = True
--3 <  -1 = True
--3 <  0 = True
--3 <  1 = True
--3 <  2 = True
--3 <  3 = True
+253 <  253 = False
+253 <  254 = True
+253 <  255 = True
+253 <  0 = False
+253 <  1 = False
+253 <  2 = False
+253 <  3 = False
  
--2 <  -3 = False
--2 <  -2 = False
--2 <  -1 = True
--2 <  0 = True
--2 <  1 = True
--2 <  2 = True
--2 <  3 = True
+254 <  253 = False
+254 <  254 = False
+254 <  255 = True
+254 <  0 = False
+254 <  1 = False
+254 <  2 = False
+254 <  3 = False
  
--1 <  -3 = False
--1 <  -2 = False
--1 <  -1 = False
--1 <  0 = True
--1 <  1 = True
--1 <  2 = True
--1 <  3 = True
+255 <  253 = False
+255 <  254 = False
+255 <  255 = False
+255 <  0 = False
+255 <  1 = False
+255 <  2 = False
+255 <  3 = False
  
-0 <  -3 = False
-0 <  -2 = False
-0 <  -1 = False
+0 <  253 = True
+0 <  254 = True
+0 <  255 = True
 0 <  0 = False
 0 <  1 = True
 0 <  2 = True
 0 <  3 = True
  
-1 <  -3 = False
-1 <  -2 = False
-1 <  -1 = False
+1 <  253 = True
+1 <  254 = True
+1 <  255 = True
 1 <  0 = False
 1 <  1 = False
 1 <  2 = True
 1 <  3 = True
  
-2 <  -3 = False
-2 <  -2 = False
-2 <  -1 = False
+2 <  253 = True
+2 <  254 = True
+2 <  255 = True
 2 <  0 = False
 2 <  1 = False
 2 <  2 = False
 2 <  3 = True
  
-3 <  -3 = False
-3 <  -2 = False
-3 <  -1 = False
+3 <  253 = True
+3 <  254 = True
+3 <  255 = True
 3 <  0 = False
 3 <  1 = False
 3 <  2 = False
 3 <  3 = False
  
 #
--3 >  -3 = False
--3 >  -2 = False
--3 >  -1 = False
--3 >  0 = False
--3 >  1 = False
--3 >  2 = False
--3 >  3 = False
+253 >  253 = False
+253 >  254 = False
+253 >  255 = False
+253 >  0 = True
+253 >  1 = True
+253 >  2 = True
+253 >  3 = True
  
--2 >  -3 = True
--2 >  -2 = False
--2 >  -1 = False
--2 >  0 = False
--2 >  1 = False
--2 >  2 = False
--2 >  3 = False
+254 >  253 = True
+254 >  254 = False
+254 >  255 = False
+254 >  0 = True
+254 >  1 = True
+254 >  2 = True
+254 >  3 = True
  
--1 >  -3 = True
--1 >  -2 = True
--1 >  -1 = False
--1 >  0 = False
--1 >  1 = False
--1 >  2 = False
--1 >  3 = False
+255 >  253 = True
+255 >  254 = True
+255 >  255 = False
+255 >  0 = True
+255 >  1 = True
+255 >  2 = True
+255 >  3 = True
  
-0 >  -3 = True
-0 >  -2 = True
-0 >  -1 = True
+0 >  253 = False
+0 >  254 = False
+0 >  255 = False
 0 >  0 = False
 0 >  1 = False
 0 >  2 = False
 0 >  3 = False
  
-1 >  -3 = True
-1 >  -2 = True
-1 >  -1 = True
+1 >  253 = False
+1 >  254 = False
+1 >  255 = False
 1 >  0 = True
 1 >  1 = False
 1 >  2 = False
 1 >  3 = False
  
-2 >  -3 = True
-2 >  -2 = True
-2 >  -1 = True
+2 >  253 = False
+2 >  254 = False
+2 >  255 = False
 2 >  0 = True
 2 >  1 = True
 2 >  2 = False
 2 >  3 = False
  
-3 >  -3 = True
-3 >  -2 = True
-3 >  -1 = True
+3 >  253 = False
+3 >  254 = False
+3 >  255 = False
 3 >  0 = True
 3 >  1 = True
 3 >  2 = True
 3 >  3 = False
  
 #
--3 >= -3 = True
--3 >= -2 = False
--3 >= -1 = False
--3 >= 0 = False
--3 >= 1 = False
--3 >= 2 = False
--3 >= 3 = False
+253 >= 253 = True
+253 >= 254 = False
+253 >= 255 = False
+253 >= 0 = True
+253 >= 1 = True
+253 >= 2 = True
+253 >= 3 = True
  
--2 >= -3 = True
--2 >= -2 = True
--2 >= -1 = False
--2 >= 0 = False
--2 >= 1 = False
--2 >= 2 = False
--2 >= 3 = False
+254 >= 253 = True
+254 >= 254 = True
+254 >= 255 = False
+254 >= 0 = True
+254 >= 1 = True
+254 >= 2 = True
+254 >= 3 = True
  
--1 >= -3 = True
--1 >= -2 = True
--1 >= -1 = True
--1 >= 0 = False
--1 >= 1 = False
--1 >= 2 = False
--1 >= 3 = False
+255 >= 253 = True
+255 >= 254 = True
+255 >= 255 = True
+255 >= 0 = True
+255 >= 1 = True
+255 >= 2 = True
+255 >= 3 = True
  
-0 >= -3 = True
-0 >= -2 = True
-0 >= -1 = True
+0 >= 253 = False
+0 >= 254 = False
+0 >= 255 = False
 0 >= 0 = True
 0 >= 1 = False
 0 >= 2 = False
 0 >= 3 = False
  
-1 >= -3 = True
-1 >= -2 = True
-1 >= -1 = True
+1 >= 253 = False
+1 >= 254 = False
+1 >= 255 = False
 1 >= 0 = True
 1 >= 1 = True
 1 >= 2 = False
 1 >= 3 = False
-2 >= -3 = True
-2 >= -2 = True
-2 >= -1 = True
+2 >= 253 = False
+2 >= 254 = False
+2 >= 255 = False
 2 >= 0 = True
 2 >= 1 = True
 2 >= 2 = True
 2 >= 3 = False
  
-3 >= -3 = True
-3 >= -2 = True
-3 >= -1 = True
+3 >= 253 = False
+3 >= 254 = False
+3 >= 255 = False
 3 >= 0 = True
 3 >= 1 = True
 3 >= 2 = True
 3 >= 3 = True
  
 #
--3 `compare` -3 = EQ
--3 `compare` -2 = LT
--3 `compare` -1 = LT
--3 `compare` 0 = LT
--3 `compare` 1 = LT
--3 `compare` 2 = LT
--3 `compare` 3 = LT
+253 `compare` 253 = EQ
+253 `compare` 254 = LT
+253 `compare` 255 = LT
+253 `compare` 0 = GT
+253 `compare` 1 = GT
+253 `compare` 2 = GT
+253 `compare` 3 = GT
  
--2 `compare` -3 = GT
--2 `compare` -2 = EQ
--2 `compare` -1 = LT
--2 `compare` 0 = LT
--2 `compare` 1 = LT
--2 `compare` 2 = LT
--2 `compare` 3 = LT
+254 `compare` 253 = GT
+254 `compare` 254 = EQ
+254 `compare` 255 = LT
+254 `compare` 0 = GT
+254 `compare` 1 = GT
+254 `compare` 2 = GT
+254 `compare` 3 = GT
  
--1 `compare` -3 = GT
--1 `compare` -2 = GT
--1 `compare` -1 = EQ
--1 `compare` 0 = LT
--1 `compare` 1 = LT
--1 `compare` 2 = LT
--1 `compare` 3 = LT
+255 `compare` 253 = GT
+255 `compare` 254 = GT
+255 `compare` 255 = EQ
+255 `compare` 0 = GT
+255 `compare` 1 = GT
+255 `compare` 2 = GT
+255 `compare` 3 = GT
  
-0 `compare` -3 = GT
-0 `compare` -2 = GT
-0 `compare` -1 = GT
+0 `compare` 253 = LT
+0 `compare` 254 = LT
+0 `compare` 255 = LT
 0 `compare` 0 = EQ
 0 `compare` 1 = LT
 0 `compare` 2 = LT
 0 `compare` 3 = LT
  
-1 `compare` -3 = GT
-1 `compare` -2 = GT
-1 `compare` -1 = GT
+1 `compare` 253 = LT
+1 `compare` 254 = LT
+1 `compare` 255 = LT
 1 `compare` 0 = GT
 1 `compare` 1 = EQ
 1 `compare` 2 = LT
 1 `compare` 3 = LT
  
-2 `compare` -3 = GT
-2 `compare` -2 = GT
-2 `compare` -1 = GT
+2 `compare` 253 = LT
+2 `compare` 254 = LT
+2 `compare` 255 = LT
 2 `compare` 0 = GT
 2 `compare` 1 = GT
 2 `compare` 2 = EQ
 2 `compare` 3 = LT
  
-3 `compare` -3 = GT
-3 `compare` -2 = GT
-3 `compare` -1 = GT
+3 `compare` 253 = LT
+3 `compare` 254 = LT
+3 `compare` 255 = LT
 3 `compare` 0 = GT
 3 `compare` 1 = GT
 3 `compare` 2 = GT
@@ -3060,713 +5519,763 @@ testOrd
  
 #
 testNum
--3 + -3 = -6
--3 + -2 = -5
--3 + -1 = -4
--3 + 0 = -3
--3 + 1 = -2
--3 + 2 = -1
--3 + 3 = 0
+253 + 253 = 250
+253 + 254 = 251
+253 + 255 = 252
+253 + 0 = 253
+253 + 1 = 254
+253 + 2 = 255
+253 + 3 = 0
  
--2 + -3 = -5
--2 + -2 = -4
--2 + -1 = -3
--2 + 0 = -2
--2 + 1 = -1
--2 + 2 = 0
--2 + 3 = 1
+254 + 253 = 251
+254 + 254 = 252
+254 + 255 = 253
+254 + 0 = 254
+254 + 1 = 255
+254 + 2 = 0
+254 + 3 = 1
  
--1 + -3 = -4
--1 + -2 = -3
--1 + -1 = -2
--1 + 0 = -1
--1 + 1 = 0
--1 + 2 = 1
--1 + 3 = 2
+255 + 253 = 252
+255 + 254 = 253
+255 + 255 = 254
+255 + 0 = 255
+255 + 1 = 0
+255 + 2 = 1
+255 + 3 = 2
  
-0 + -3 = -3
-0 + -2 = -2
-0 + -1 = -1
+0 + 253 = 253
+0 + 254 = 254
+0 + 255 = 255
 0 + 0 = 0
 0 + 1 = 1
 0 + 2 = 2
 0 + 3 = 3
  
-1 + -3 = -2
-1 + -2 = -1
-1 + -1 = 0
+1 + 253 = 254
+1 + 254 = 255
+1 + 255 = 0
 1 + 0 = 1
 1 + 1 = 2
 1 + 2 = 3
 1 + 3 = 4
  
-2 + -3 = -1
-2 + -2 = 0
-2 + -1 = 1
+2 + 253 = 255
+2 + 254 = 0
+2 + 255 = 1
 2 + 0 = 2
 2 + 1 = 3
 2 + 2 = 4
 2 + 3 = 5
  
-3 + -3 = 0
-3 + -2 = 1
-3 + -1 = 2
+3 + 253 = 0
+3 + 254 = 1
+3 + 255 = 2
 3 + 0 = 3
 3 + 1 = 4
 3 + 2 = 5
 3 + 3 = 6
  
 #
--3 - -3 = 0
--3 - -2 = -1
--3 - -1 = -2
--3 - 0 = -3
--3 - 1 = -4
--3 - 2 = -5
--3 - 3 = -6
+253 - 253 = 0
+253 - 254 = 255
+253 - 255 = 254
+253 - 0 = 253
+253 - 1 = 252
+253 - 2 = 251
+253 - 3 = 250
  
--2 - -3 = 1
--2 - -2 = 0
--2 - -1 = -1
--2 - 0 = -2
--2 - 1 = -3
--2 - 2 = -4
--2 - 3 = -5
+254 - 253 = 1
+254 - 254 = 0
+254 - 255 = 255
+254 - 0 = 254
+254 - 1 = 253
+254 - 2 = 252
+254 - 3 = 251
  
--1 - -3 = 2
--1 - -2 = 1
--1 - -1 = 0
--1 - 0 = -1
--1 - 1 = -2
--1 - 2 = -3
--1 - 3 = -4
+255 - 253 = 2
+255 - 254 = 1
+255 - 255 = 0
+255 - 0 = 255
+255 - 1 = 254
+255 - 2 = 253
+255 - 3 = 252
  
-0 - -3 = 3
-0 - -2 = 2
-0 - -1 = 1
+0 - 253 = 3
+0 - 254 = 2
+0 - 255 = 1
 0 - 0 = 0
-0 - 1 = -1
-0 - 2 = -2
-0 - 3 = -3
+0 - 1 = 255
+0 - 2 = 254
+0 - 3 = 253
  
-1 - -3 = 4
-1 - -2 = 3
-1 - -1 = 2
+1 - 253 = 4
+1 - 254 = 3
+1 - 255 = 2
 1 - 0 = 1
 1 - 1 = 0
-1 - 2 = -1
-1 - 3 = -2
+1 - 2 = 255
+1 - 3 = 254
  
-2 - -3 = 5
-2 - -2 = 4
-2 - -1 = 3
+2 - 253 = 5
+2 - 254 = 4
+2 - 255 = 3
 2 - 0 = 2
 2 - 1 = 1
 2 - 2 = 0
-2 - 3 = -1
+2 - 3 = 255
  
-3 - -3 = 6
-3 - -2 = 5
-3 - -1 = 4
+3 - 253 = 6
+3 - 254 = 5
+3 - 255 = 4
 3 - 0 = 3
 3 - 1 = 2
 3 - 2 = 1
 3 - 3 = 0
  
 #
--3 * -3 = 9
--3 * -2 = 6
--3 * -1 = 3
--3 * 0 = 0
--3 * 1 = -3
--3 * 2 = -6
--3 * 3 = -9
+253 * 253 = 9
+253 * 254 = 6
+253 * 255 = 3
+253 * 0 = 0
+253 * 1 = 253
+253 * 2 = 250
+253 * 3 = 247
  
--2 * -3 = 6
--2 * -2 = 4
--2 * -1 = 2
--2 * 0 = 0
--2 * 1 = -2
--2 * 2 = -4
--2 * 3 = -6
+254 * 253 = 6
+254 * 254 = 4
+254 * 255 = 2
+254 * 0 = 0
+254 * 1 = 254
+254 * 2 = 252
+254 * 3 = 250
  
--1 * -3 = 3
--1 * -2 = 2
--1 * -1 = 1
--1 * 0 = 0
--1 * 1 = -1
--1 * 2 = -2
--1 * 3 = -3
+255 * 253 = 3
+255 * 254 = 2
+255 * 255 = 1
+255 * 0 = 0
+255 * 1 = 255
+255 * 2 = 254
+255 * 3 = 253
  
-0 * -3 = 0
-0 * -2 = 0
-0 * -1 = 0
+0 * 253 = 0
+0 * 254 = 0
+0 * 255 = 0
 0 * 0 = 0
 0 * 1 = 0
 0 * 2 = 0
 0 * 3 = 0
  
-1 * -3 = -3
-1 * -2 = -2
-1 * -1 = -1
+1 * 253 = 253
+1 * 254 = 254
+1 * 255 = 255
 1 * 0 = 0
 1 * 1 = 1
 1 * 2 = 2
 1 * 3 = 3
  
-2 * -3 = -6
-2 * -2 = -4
-2 * -1 = -2
+2 * 253 = 250
+2 * 254 = 252
+2 * 255 = 254
 2 * 0 = 0
 2 * 1 = 2
 2 * 2 = 4
 2 * 3 = 6
  
-3 * -3 = -9
-3 * -2 = -6
-3 * -1 = -3
+3 * 253 = 247
+3 * 254 = 250
+3 * 255 = 253
 3 * 0 = 0
 3 * 1 = 3
 3 * 2 = 6
 3 * 3 = 9
  
 #
-negate -3 = 3
-negate -2 = 2
-negate -1 = 1
+negate 253 = 3
+negate 254 = 2
+negate 255 = 1
 negate 0 = 0
-negate 1 = -1
-negate 2 = -2
-negate 3 = -3
+negate 1 = 255
+negate 2 = 254
+negate 3 = 253
 #
 testReal
-toRational -3 = -3 % 1
-toRational -2 = -2 % 1
-toRational -1 = -1 % 1
+toRational 253 = 253 % 1
+toRational 254 = 254 % 1
+toRational 255 = 255 % 1
 toRational 0 = 0 % 1
 toRational 1 = 1 % 1
 toRational 2 = 2 % 1
 toRational 3 = 3 % 1
 #
 testIntegral
--3 `divMod`  -3 = (1, 0)
--3 `divMod`  -2 = (1, -1)
--3 `divMod`  -1 = (3, 0)
--3 `divMod`  1 = (-3, 0)
--3 `divMod`  2 = (-2, 1)
--3 `divMod`  3 = (-1, 0)
--2 `divMod`  -3 = (0, -2)
--2 `divMod`  -2 = (1, 0)
--2 `divMod`  -1 = (2, 0)
--2 `divMod`  1 = (-2, 0)
--2 `divMod`  2 = (-1, 0)
--2 `divMod`  3 = (-1, 1)
--1 `divMod`  -3 = (0, -1)
--1 `divMod`  -2 = (0, -1)
--1 `divMod`  -1 = (1, 0)
--1 `divMod`  1 = (-1, 0)
--1 `divMod`  2 = (-1, 1)
--1 `divMod`  3 = (-1, 2)
-0 `divMod`  -3 = (0, 0)
-0 `divMod`  -2 = (0, 0)
-0 `divMod`  -1 = (0, 0)
-0 `divMod`  1 = (0, 0)
-0 `divMod`  2 = (0, 0)
-0 `divMod`  3 = (0, 0)
-1 `divMod`  -3 = (-1, -2)
-1 `divMod`  -2 = (-1, -1)
-1 `divMod`  -1 = (-1, 0)
-1 `divMod`  1 = (1, 0)
-1 `divMod`  2 = (0, 1)
-1 `divMod`  3 = (0, 1)
-2 `divMod`  -3 = (-1, -1)
-2 `divMod`  -2 = (-1, 0)
-2 `divMod`  -1 = (-2, 0)
-2 `divMod`  1 = (2, 0)
-2 `divMod`  2 = (1, 0)
-2 `divMod`  3 = (0, 2)
-3 `divMod`  -3 = (-1, 0)
-3 `divMod`  -2 = (-2, -1)
-3 `divMod`  -1 = (-3, 0)
-3 `divMod`  1 = (3, 0)
-3 `divMod`  2 = (1, 1)
-3 `divMod`  3 = (1, 0)
+253 `divMod`  253 = (1,0)
+253 `divMod`  254 = (0,253)
+253 `divMod`  255 = (0,253)
+253 `divMod`  1 = (253,0)
+253 `divMod`  2 = (126,1)
+253 `divMod`  3 = (84,1)
+254 `divMod`  253 = (1,1)
+254 `divMod`  254 = (1,0)
+254 `divMod`  255 = (0,254)
+254 `divMod`  1 = (254,0)
+254 `divMod`  2 = (127,0)
+254 `divMod`  3 = (84,2)
+255 `divMod`  253 = (1,2)
+255 `divMod`  254 = (1,1)
+255 `divMod`  255 = (1,0)
+255 `divMod`  1 = (255,0)
+255 `divMod`  2 = (127,1)
+255 `divMod`  3 = (85,0)
+0 `divMod`  253 = (0,0)
+0 `divMod`  254 = (0,0)
+0 `divMod`  255 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  253 = (0,1)
+1 `divMod`  254 = (0,1)
+1 `divMod`  255 = (0,1)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  253 = (0,2)
+2 `divMod`  254 = (0,2)
+2 `divMod`  255 = (0,2)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  253 = (0,3)
+3 `divMod`  254 = (0,3)
+3 `divMod`  255 = (0,3)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
  
 #
--3 `div`     -3 = 1
--3 `div`     -2 = 1
--3 `div`     -1 = 3
--3 `div`     1 = -3
--3 `div`     2 = -2
--3 `div`     3 = -1
+253 `div`     253 = 1
+253 `div`     254 = 0
+253 `div`     255 = 0
+253 `div`     1 = 253
+253 `div`     2 = 126
+253 `div`     3 = 84
  
--2 `div`     -3 = 0
--2 `div`     -2 = 1
--2 `div`     -1 = 2
--2 `div`     1 = -2
--2 `div`     2 = -1
--2 `div`     3 = -1
+254 `div`     253 = 1
+254 `div`     254 = 1
+254 `div`     255 = 0
+254 `div`     1 = 254
+254 `div`     2 = 127
+254 `div`     3 = 84
  
--1 `div`     -3 = 0
--1 `div`     -2 = 0
--1 `div`     -1 = 1
--1 `div`     1 = -1
--1 `div`     2 = -1
--1 `div`     3 = -1
+255 `div`     253 = 1
+255 `div`     254 = 1
+255 `div`     255 = 1
+255 `div`     1 = 255
+255 `div`     2 = 127
+255 `div`     3 = 85
  
-0 `div`     -3 = 0
-0 `div`     -2 = 0
-0 `div`     -1 = 0
+0 `div`     253 = 0
+0 `div`     254 = 0
+0 `div`     255 = 0
 0 `div`     1 = 0
 0 `div`     2 = 0
 0 `div`     3 = 0
  
-1 `div`     -3 = -1
-1 `div`     -2 = -1
-1 `div`     -1 = -1
+1 `div`     253 = 0
+1 `div`     254 = 0
+1 `div`     255 = 0
 1 `div`     1 = 1
 1 `div`     2 = 0
 1 `div`     3 = 0
  
-2 `div`     -3 = -1
-2 `div`     -2 = -1
-2 `div`     -1 = -2
+2 `div`     253 = 0
+2 `div`     254 = 0
+2 `div`     255 = 0
 2 `div`     1 = 2
 2 `div`     2 = 1
 2 `div`     3 = 0
  
-3 `div`     -3 = -1
-3 `div`     -2 = -2
-3 `div`     -1 = -3
+3 `div`     253 = 0
+3 `div`     254 = 0
+3 `div`     255 = 0
 3 `div`     1 = 3
 3 `div`     2 = 1
 3 `div`     3 = 1
  
 #
--3 `mod`     -3 = 0
--3 `mod`     -2 = -1
--3 `mod`     -1 = 0
--3 `mod`     1 = 0
--3 `mod`     2 = 1
--3 `mod`     3 = 0
+253 `mod`     253 = 0
+253 `mod`     254 = 253
+253 `mod`     255 = 253
+253 `mod`     1 = 0
+253 `mod`     2 = 1
+253 `mod`     3 = 1
  
--2 `mod`     -3 = -2
--2 `mod`     -2 = 0
--2 `mod`     -1 = 0
--2 `mod`     1 = 0
--2 `mod`     2 = 0
--2 `mod`     3 = 1
+254 `mod`     253 = 1
+254 `mod`     254 = 0
+254 `mod`     255 = 254
+254 `mod`     1 = 0
+254 `mod`     2 = 0
+254 `mod`     3 = 2
  
--1 `mod`     -3 = -1
--1 `mod`     -2 = -1
--1 `mod`     -1 = 0
--1 `mod`     1 = 0
--1 `mod`     2 = 1
--1 `mod`     3 = 2
+255 `mod`     253 = 2
+255 `mod`     254 = 1
+255 `mod`     255 = 0
+255 `mod`     1 = 0
+255 `mod`     2 = 1
+255 `mod`     3 = 0
  
-0 `mod`     -3 = 0
-0 `mod`     -2 = 0
-0 `mod`     -1 = 0
+0 `mod`     253 = 0
+0 `mod`     254 = 0
+0 `mod`     255 = 0
 0 `mod`     1 = 0
 0 `mod`     2 = 0
 0 `mod`     3 = 0
  
-1 `mod`     -3 = -2
-1 `mod`     -2 = -1
-1 `mod`     -1 = 0
+1 `mod`     253 = 1
+1 `mod`     254 = 1
+1 `mod`     255 = 1
 1 `mod`     1 = 0
 1 `mod`     2 = 1
 1 `mod`     3 = 1
  
-2 `mod`     -3 = -1
-2 `mod`     -2 = 0
-2 `mod`     -1 = 0
+2 `mod`     253 = 2
+2 `mod`     254 = 2
+2 `mod`     255 = 2
 2 `mod`     1 = 0
 2 `mod`     2 = 0
 2 `mod`     3 = 2
  
-3 `mod`     -3 = 0
-3 `mod`     -2 = -1
-3 `mod`     -1 = 0
+3 `mod`     253 = 3
+3 `mod`     254 = 3
+3 `mod`     255 = 3
 3 `mod`     1 = 0
 3 `mod`     2 = 1
 3 `mod`     3 = 0
  
 #
--3 `quotRem` -3 = (1, 0)
--3 `quotRem` -2 = (1, -1)
--3 `quotRem` -1 = (3, 0)
--3 `quotRem` 1 = (-3, 0)
--3 `quotRem` 2 = (-1, -1)
--3 `quotRem` 3 = (-1, 0)
--2 `quotRem` -3 = (0, -2)
--2 `quotRem` -2 = (1, 0)
--2 `quotRem` -1 = (2, 0)
--2 `quotRem` 1 = (-2, 0)
--2 `quotRem` 2 = (-1, 0)
--2 `quotRem` 3 = (0, -2)
--1 `quotRem` -3 = (0, -1)
--1 `quotRem` -2 = (0, -1)
--1 `quotRem` -1 = (1, 0)
--1 `quotRem` 1 = (-1, 0)
--1 `quotRem` 2 = (0, -1)
--1 `quotRem` 3 = (0, -1)
-0 `quotRem` -3 = (0, 0)
-0 `quotRem` -2 = (0, 0)
-0 `quotRem` -1 = (0, 0)
-0 `quotRem` 1 = (0, 0)
-0 `quotRem` 2 = (0, 0)
-0 `quotRem` 3 = (0, 0)
-1 `quotRem` -3 = (0, 1)
-1 `quotRem` -2 = (0, 1)
-1 `quotRem` -1 = (-1, 0)
-1 `quotRem` 1 = (1, 0)
-1 `quotRem` 2 = (0, 1)
-1 `quotRem` 3 = (0, 1)
-2 `quotRem` -3 = (0, 2)
-2 `quotRem` -2 = (-1, 0)
-2 `quotRem` -1 = (-2, 0)
-2 `quotRem` 1 = (2, 0)
-2 `quotRem` 2 = (1, 0)
-2 `quotRem` 3 = (0, 2)
-3 `quotRem` -3 = (-1, 0)
-3 `quotRem` -2 = (-1, 1)
-3 `quotRem` -1 = (-3, 0)
-3 `quotRem` 1 = (3, 0)
-3 `quotRem` 2 = (1, 1)
-3 `quotRem` 3 = (1, 0)
+253 `quotRem` 253 = (1,0)
+253 `quotRem` 254 = (0,253)
+253 `quotRem` 255 = (0,253)
+253 `quotRem` 1 = (253,0)
+253 `quotRem` 2 = (126,1)
+253 `quotRem` 3 = (84,1)
+254 `quotRem` 253 = (1,1)
+254 `quotRem` 254 = (1,0)
+254 `quotRem` 255 = (0,254)
+254 `quotRem` 1 = (254,0)
+254 `quotRem` 2 = (127,0)
+254 `quotRem` 3 = (84,2)
+255 `quotRem` 253 = (1,2)
+255 `quotRem` 254 = (1,1)
+255 `quotRem` 255 = (1,0)
+255 `quotRem` 1 = (255,0)
+255 `quotRem` 2 = (127,1)
+255 `quotRem` 3 = (85,0)
+0 `quotRem` 253 = (0,0)
+0 `quotRem` 254 = (0,0)
+0 `quotRem` 255 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` 253 = (0,1)
+1 `quotRem` 254 = (0,1)
+1 `quotRem` 255 = (0,1)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` 253 = (0,2)
+2 `quotRem` 254 = (0,2)
+2 `quotRem` 255 = (0,2)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` 253 = (0,3)
+3 `quotRem` 254 = (0,3)
+3 `quotRem` 255 = (0,3)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
  
 #
--3 `quot`    -3 = 1
--3 `quot`    -2 = 1
--3 `quot`    -1 = 3
--3 `quot`    1 = -3
--3 `quot`    2 = -1
--3 `quot`    3 = -1
+253 `quot`    253 = 1
+253 `quot`    254 = 0
+253 `quot`    255 = 0
+253 `quot`    1 = 253
+253 `quot`    2 = 126
+253 `quot`    3 = 84
  
--2 `quot`    -3 = 0
--2 `quot`    -2 = 1
--2 `quot`    -1 = 2
--2 `quot`    1 = -2
--2 `quot`    2 = -1
--2 `quot`    3 = 0
+254 `quot`    253 = 1
+254 `quot`    254 = 1
+254 `quot`    255 = 0
+254 `quot`    1 = 254
+254 `quot`    2 = 127
+254 `quot`    3 = 84
  
--1 `quot`    -3 = 0
--1 `quot`    -2 = 0
--1 `quot`    -1 = 1
--1 `quot`    1 = -1
--1 `quot`    2 = 0
--1 `quot`    3 = 0
+255 `quot`    253 = 1
+255 `quot`    254 = 1
+255 `quot`    255 = 1
+255 `quot`    1 = 255
+255 `quot`    2 = 127
+255 `quot`    3 = 85
  
-0 `quot`    -3 = 0
-0 `quot`    -2 = 0
-0 `quot`    -1 = 0
+0 `quot`    253 = 0
+0 `quot`    254 = 0
+0 `quot`    255 = 0
 0 `quot`    1 = 0
 0 `quot`    2 = 0
 0 `quot`    3 = 0
  
-1 `quot`    -3 = 0
-1 `quot`    -2 = 0
-1 `quot`    -1 = -1
+1 `quot`    253 = 0
+1 `quot`    254 = 0
+1 `quot`    255 = 0
 1 `quot`    1 = 1
 1 `quot`    2 = 0
 1 `quot`    3 = 0
  
-2 `quot`    -3 = 0
-2 `quot`    -2 = -1
-2 `quot`    -1 = -2
+2 `quot`    253 = 0
+2 `quot`    254 = 0
+2 `quot`    255 = 0
 2 `quot`    1 = 2
 2 `quot`    2 = 1
 2 `quot`    3 = 0
  
-3 `quot`    -3 = -1
-3 `quot`    -2 = -1
-3 `quot`    -1 = -3
+3 `quot`    253 = 0
+3 `quot`    254 = 0
+3 `quot`    255 = 0
 3 `quot`    1 = 3
 3 `quot`    2 = 1
 3 `quot`    3 = 1
  
 #
--3 `rem`     -3 = 0
--3 `rem`     -2 = -1
--3 `rem`     -1 = 0
--3 `rem`     1 = 0
--3 `rem`     2 = -1
--3 `rem`     3 = 0
--2 `rem`     -3 = -2
--2 `rem`     -2 = 0
--2 `rem`     -1 = 0
--2 `rem`     1 = 0
--2 `rem`     2 = 0
--2 `rem`     3 = -2
+253 `rem`     253 = 0
+253 `rem`     254 = 253
+253 `rem`     255 = 253
+253 `rem`     1 = 0
+253 `rem`     2 = 1
+253 `rem`     3 = 1
  
--1 `rem`     -3 = -1
--1 `rem`     -2 = -1
--1 `rem`     -1 = 0
--1 `rem`     1 = 0
--1 `rem`     2 = -1
--1 `rem`     3 = -1
+254 `rem`     253 = 1
+254 `rem`     254 = 0
+254 `rem`     255 = 254
+254 `rem`     1 = 0
+254 `rem`     2 = 0
+254 `rem`     3 = 2
  
-0 `rem`     -3 = 0
-0 `rem`     -2 = 0
-0 `rem`     -1 = 0
+255 `rem`     253 = 2
+255 `rem`     254 = 1
+255 `rem`     255 = 0
+255 `rem`     1 = 0
+255 `rem`     2 = 1
+255 `rem`     3 = 0
+0 `rem`     253 = 0
+0 `rem`     254 = 0
+0 `rem`     255 = 0
 0 `rem`     1 = 0
 0 `rem`     2 = 0
 0 `rem`     3 = 0
  
-1 `rem`     -3 = 1
-1 `rem`     -2 = 1
-1 `rem`     -1 = 0
+1 `rem`     253 = 1
+1 `rem`     254 = 1
+1 `rem`     255 = 1
 1 `rem`     1 = 0
 1 `rem`     2 = 1
 1 `rem`     3 = 1
  
-2 `rem`     -3 = 2
-2 `rem`     -2 = 0
-2 `rem`     -1 = 0
+2 `rem`     253 = 2
+2 `rem`     254 = 2
+2 `rem`     255 = 2
 2 `rem`     1 = 0
 2 `rem`     2 = 0
 2 `rem`     3 = 2
  
-3 `rem`     -3 = 0
-3 `rem`     -2 = 1
-3 `rem`     -1 = 0
+3 `rem`     253 = 3
+3 `rem`     254 = 3
+3 `rem`     255 = 3
 3 `rem`     1 = 0
 3 `rem`     2 = 1
 3 `rem`     3 = 0
  
 #
 testBits
--3 .&.   -3 = -3
--3 .&.   -2 = -4
--3 .&.   -1 = -3
--3 .&.   1 = 1
--3 .&.   2 = 0
--3 .&.   3 = 1
+253 .&.   253 = 253
+253 .&.   254 = 252
+253 .&.   255 = 253
+253 .&.   1 = 1
+253 .&.   2 = 0
+253 .&.   3 = 1
  
--2 .&.   -3 = -4
--2 .&.   -2 = -2
--2 .&.   -1 = -2
--2 .&.   1 = 0
--2 .&.   2 = 2
--2 .&.   3 = 2
+254 .&.   253 = 252
+254 .&.   254 = 254
+254 .&.   255 = 254
+254 .&.   1 = 0
+254 .&.   2 = 2
+254 .&.   3 = 2
  
--1 .&.   -3 = -3
--1 .&.   -2 = -2
--1 .&.   -1 = -1
--1 .&.   1 = 1
--1 .&.   2 = 2
--1 .&.   3 = 3
+255 .&.   253 = 253
+255 .&.   254 = 254
+255 .&.   255 = 255
+255 .&.   1 = 1
+255 .&.   2 = 2
+255 .&.   3 = 3
  
-0 .&.   -3 = 0
-0 .&.   -2 = 0
-0 .&.   -1 = 0
+0 .&.   253 = 0
+0 .&.   254 = 0
+0 .&.   255 = 0
 0 .&.   1 = 0
 0 .&.   2 = 0
 0 .&.   3 = 0
  
-1 .&.   -3 = 1
-1 .&.   -2 = 0
-1 .&.   -1 = 1
+1 .&.   253 = 1
+1 .&.   254 = 0
+1 .&.   255 = 1
 1 .&.   1 = 1
 1 .&.   2 = 0
 1 .&.   3 = 1
  
-2 .&.   -3 = 0
-2 .&.   -2 = 2
-2 .&.   -1 = 2
+2 .&.   253 = 0
+2 .&.   254 = 2
+2 .&.   255 = 2
 2 .&.   1 = 0
 2 .&.   2 = 2
 2 .&.   3 = 2
  
-3 .&.   -3 = 1
-3 .&.   -2 = 2
-3 .&.   -1 = 3
+3 .&.   253 = 1
+3 .&.   254 = 2
+3 .&.   255 = 3
 3 .&.   1 = 1
 3 .&.   2 = 2
 3 .&.   3 = 3
  
 #
--3 .|.   -3 = -3
--3 .|.   -2 = -1
--3 .|.   -1 = -1
--3 .|.   1 = -3
--3 .|.   2 = -1
--3 .|.   3 = -1
+253 .|.   253 = 253
+253 .|.   254 = 255
+253 .|.   255 = 255
+253 .|.   1 = 253
+253 .|.   2 = 255
+253 .|.   3 = 255
  
--2 .|.   -3 = -1
--2 .|.   -2 = -2
--2 .|.   -1 = -1
--2 .|.   1 = -1
--2 .|.   2 = -2
--2 .|.   3 = -1
+254 .|.   253 = 255
+254 .|.   254 = 254
+254 .|.   255 = 255
+254 .|.   1 = 255
+254 .|.   2 = 254
+254 .|.   3 = 255
  
--1 .|.   -3 = -1
--1 .|.   -2 = -1
--1 .|.   -1 = -1
--1 .|.   1 = -1
--1 .|.   2 = -1
--1 .|.   3 = -1
+255 .|.   253 = 255
+255 .|.   254 = 255
+255 .|.   255 = 255
+255 .|.   1 = 255
+255 .|.   2 = 255
+255 .|.   3 = 255
  
-0 .|.   -3 = -3
-0 .|.   -2 = -2
-0 .|.   -1 = -1
+0 .|.   253 = 253
+0 .|.   254 = 254
+0 .|.   255 = 255
 0 .|.   1 = 1
 0 .|.   2 = 2
 0 .|.   3 = 3
  
-1 .|.   -3 = -3
-1 .|.   -2 = -1
-1 .|.   -1 = -1
+1 .|.   253 = 253
+1 .|.   254 = 255
+1 .|.   255 = 255
 1 .|.   1 = 1
 1 .|.   2 = 3
 1 .|.   3 = 3
  
-2 .|.   -3 = -1
-2 .|.   -2 = -2
-2 .|.   -1 = -1
+2 .|.   253 = 255
+2 .|.   254 = 254
+2 .|.   255 = 255
 2 .|.   1 = 3
 2 .|.   2 = 2
 2 .|.   3 = 3
  
-3 .|.   -3 = -1
-3 .|.   -2 = -1
-3 .|.   -1 = -1
+3 .|.   253 = 255
+3 .|.   254 = 255
+3 .|.   255 = 255
 3 .|.   1 = 3
 3 .|.   2 = 3
 3 .|.   3 = 3
  
 #
--3 `xor` -3 = 0
--3 `xor` -2 = 3
--3 `xor` -1 = 2
--3 `xor` 1 = -4
--3 `xor` 2 = -1
--3 `xor` 3 = -2
+253 `xor` 253 = 0
+253 `xor` 254 = 3
+253 `xor` 255 = 2
+253 `xor` 1 = 252
+253 `xor` 2 = 255
+253 `xor` 3 = 254
  
--2 `xor` -3 = 3
--2 `xor` -2 = 0
--2 `xor` -1 = 1
--2 `xor` 1 = -1
--2 `xor` 2 = -4
--2 `xor` 3 = -3
+254 `xor` 253 = 3
+254 `xor` 254 = 0
+254 `xor` 255 = 1
+254 `xor` 1 = 255
+254 `xor` 2 = 252
+254 `xor` 3 = 253
  
--1 `xor` -3 = 2
--1 `xor` -2 = 1
--1 `xor` -1 = 0
--1 `xor` 1 = -2
--1 `xor` 2 = -3
--1 `xor` 3 = -4
+255 `xor` 253 = 2
+255 `xor` 254 = 1
+255 `xor` 255 = 0
+255 `xor` 1 = 254
+255 `xor` 2 = 253
+255 `xor` 3 = 252
  
-0 `xor` -3 = -3
-0 `xor` -2 = -2
-0 `xor` -1 = -1
+0 `xor` 253 = 253
+0 `xor` 254 = 254
+0 `xor` 255 = 255
 0 `xor` 1 = 1
 0 `xor` 2 = 2
 0 `xor` 3 = 3
  
-1 `xor` -3 = -4
-1 `xor` -2 = -1
-1 `xor` -1 = -2
+1 `xor` 253 = 252
+1 `xor` 254 = 255
+1 `xor` 255 = 254
 1 `xor` 1 = 0
 1 `xor` 2 = 3
 1 `xor` 3 = 2
  
-2 `xor` -3 = -1
-2 `xor` -2 = -4
-2 `xor` -1 = -3
+2 `xor` 253 = 255
+2 `xor` 254 = 252
+2 `xor` 255 = 253
 2 `xor` 1 = 3
 2 `xor` 2 = 0
 2 `xor` 3 = 1
  
-3 `xor` -3 = -2
-3 `xor` -2 = -3
-3 `xor` -1 = -4
+3 `xor` 253 = 254
+3 `xor` 254 = 253
+3 `xor` 255 = 252
 3 `xor` 1 = 2
 3 `xor` 2 = 1
 3 `xor` 3 = 0
  
 #
-complement -3 = 2
-complement -2 = 1
-complement -1 = 0
-complement 0 = -1
-complement 1 = -2
-complement 2 = -3
-complement 3 = -4
+complement 253 = 2
+complement 254 = 1
+complement 255 = 0
+complement 0 = 255
+complement 1 = 254
+complement 2 = 253
+complement 3 = 252
 #
--3 `shift` 0 = -3
--3 `shift` 1 = -6
--3 `shift` 2 = -12
--3 `shift` 3 = -24
--2 `shift` 0 = -2
--2 `shift` 1 = -4
--2 `shift` 2 = -8
--2 `shift` 3 = -16
--1 `shift` 0 = -1
--1 `shift` 1 = -2
--1 `shift` 2 = -4
--1 `shift` 3 = -8
-0 `shift` 0 = 0
-0 `shift` 1 = 0
-0 `shift` 2 = 0
-0 `shift` 3 = 0
-1 `shift` 0 = 1
-1 `shift` 1 = 2
-1 `shift` 2 = 4
-1 `shift` 3 = 8
-2 `shift` 0 = 2
-2 `shift` 1 = 4
-2 `shift` 2 = 8
-2 `shift` 3 = 16
-3 `shift` 0 = 3
-3 `shift` 1 = 6
-3 `shift` 2 = 12
-3 `shift` 3 = 24
+253 `shiftL` 0 = 253
+253 `shiftL` 1 = 250
+253 `shiftL` 2 = 244
+253 `shiftL` 3 = 232
+253 `shiftL` 32 = 0
+254 `shiftL` 0 = 254
+254 `shiftL` 1 = 252
+254 `shiftL` 2 = 248
+254 `shiftL` 3 = 240
+254 `shiftL` 32 = 0
+255 `shiftL` 0 = 255
+255 `shiftL` 1 = 254
+255 `shiftL` 2 = 252
+255 `shiftL` 3 = 248
+255 `shiftL` 32 = 0
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 0
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 0
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 0
+#
+253 `shiftR` 0 = 253
+253 `shiftR` 1 = 126
+253 `shiftR` 2 = 63
+253 `shiftR` 3 = 31
+253 `shiftR` 32 = 0
+254 `shiftR` 0 = 254
+254 `shiftR` 1 = 127
+254 `shiftR` 2 = 63
+254 `shiftR` 3 = 31
+254 `shiftR` 32 = 0
+255 `shiftR` 0 = 255
+255 `shiftR` 1 = 127
+255 `shiftR` 2 = 63
+255 `shiftR` 3 = 31
+255 `shiftR` 32 = 0
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
  
 #
--3 `rotate` -3 = -1342177281
--3 `rotate` -2 = 1610612735
--3 `rotate` -1 = -1073741826
--3 `rotate` 0 = -3
--3 `rotate` 1 = -6
--3 `rotate` 2 = -11
--3 `rotate` 3 = -21
+253 `rotate` -3 = 191
+253 `rotate` -2 = 127
+253 `rotate` -1 = 254
+253 `rotate` 0 = 253
+253 `rotate` 1 = 251
+253 `rotate` 2 = 247
+253 `rotate` 3 = 239
  
--2 `rotate` -3 = -805306369
--2 `rotate` -2 = -1610612737
--2 `rotate` -1 = 1073741823
--2 `rotate` 0 = -2
--2 `rotate` 1 = -4
--2 `rotate` 2 = -7
--2 `rotate` 3 = -13
+254 `rotate` -3 = 223
+254 `rotate` -2 = 191
+254 `rotate` -1 = 127
+254 `rotate` 0 = 254
+254 `rotate` 1 = 253
+254 `rotate` 2 = 251
+254 `rotate` 3 = 247
  
--1 `rotate` -3 = -268435457
--1 `rotate` -2 = -536870913
--1 `rotate` -1 = -1073741825
--1 `rotate` 0 = -1
--1 `rotate` 1 = -2
--1 `rotate` 2 = -3
--1 `rotate` 3 = -5
+255 `rotate` -3 = 255
+255 `rotate` -2 = 255
+255 `rotate` -1 = 255
+255 `rotate` 0 = 255
+255 `rotate` 1 = 255
+255 `rotate` 2 = 255
+255 `rotate` 3 = 255
  
 0 `rotate` -3 = 0
 0 `rotate` -2 = 0
@@ -3776,25 +6285,25 @@ complement 3 = -4
 0 `rotate` 2 = 0
 0 `rotate` 3 = 0
  
-1 `rotate` -3 = 536870912
-1 `rotate` -2 = 1073741824
-1 `rotate` -1 = -2147483648
+1 `rotate` -3 = 32
+1 `rotate` -2 = 64
+1 `rotate` -1 = 128
 1 `rotate` 0 = 1
 1 `rotate` 1 = 2
 1 `rotate` 2 = 4
 1 `rotate` 3 = 8
  
-2 `rotate` -3 = 1073741824
-2 `rotate` -2 = -2147483648
+2 `rotate` -3 = 64
+2 `rotate` -2 = 128
 2 `rotate` -1 = 1
 2 `rotate` 0 = 2
 2 `rotate` 1 = 4
 2 `rotate` 2 = 8
 2 `rotate` 3 = 16
  
-3 `rotate` -3 = 1610612736
-3 `rotate` -2 = -1073741824
-3 `rotate` -1 = -2147483647
+3 `rotate` -3 = 96
+3 `rotate` -2 = 192
+3 `rotate` -1 = 129
 3 `rotate` 0 = 3
 3 `rotate` 1 = 6
 3 `rotate` 2 = 12
@@ -3806,290 +6315,317 @@ bit 1 = 2
 bit 2 = 4
 bit 3 = 8
 #
--3 `setBit` 0 = -3
--3 `setBit` 1 = -1
--3 `setBit` 2 = -3
--3 `setBit` 3 = -3
+253 `setBit` 0 = 253
+253 `setBit` 1 = 255
+253 `setBit` 2 = 253
+253 `setBit` 3 = 253
+253 `setBit` 32 = 253
  
--2 `setBit` 0 = -1
--2 `setBit` 1 = -2
--2 `setBit` 2 = -2
--2 `setBit` 3 = -2
+254 `setBit` 0 = 255
+254 `setBit` 1 = 254
+254 `setBit` 2 = 254
+254 `setBit` 3 = 254
+254 `setBit` 32 = 254
  
--1 `setBit` 0 = -1
--1 `setBit` 1 = -1
--1 `setBit` 2 = -1
--1 `setBit` 3 = -1
+255 `setBit` 0 = 255
+255 `setBit` 1 = 255
+255 `setBit` 2 = 255
+255 `setBit` 3 = 255
+255 `setBit` 32 = 255
  
 0 `setBit` 0 = 1
 0 `setBit` 1 = 2
 0 `setBit` 2 = 4
 0 `setBit` 3 = 8
+0 `setBit` 32 = 0
  
 1 `setBit` 0 = 1
 1 `setBit` 1 = 3
 1 `setBit` 2 = 5
 1 `setBit` 3 = 9
+1 `setBit` 32 = 1
  
 2 `setBit` 0 = 3
 2 `setBit` 1 = 2
 2 `setBit` 2 = 6
 2 `setBit` 3 = 10
+2 `setBit` 32 = 2
  
 3 `setBit` 0 = 3
 3 `setBit` 1 = 3
 3 `setBit` 2 = 7
 3 `setBit` 3 = 11
+3 `setBit` 32 = 3
  
 #
--3 `clearBit` 0 = -4
--3 `clearBit` 1 = -3
--3 `clearBit` 2 = -7
--3 `clearBit` 3 = -11
+253 `clearBit` 0 = 252
+253 `clearBit` 1 = 253
+253 `clearBit` 2 = 249
+253 `clearBit` 3 = 245
+253 `clearBit` 32 = 253
  
--2 `clearBit` 0 = -2
--2 `clearBit` 1 = -4
--2 `clearBit` 2 = -6
--2 `clearBit` 3 = -10
+254 `clearBit` 0 = 254
+254 `clearBit` 1 = 252
+254 `clearBit` 2 = 250
+254 `clearBit` 3 = 246
+254 `clearBit` 32 = 254
  
--1 `clearBit` 0 = -2
--1 `clearBit` 1 = -3
--1 `clearBit` 2 = -5
--1 `clearBit` 3 = -9
+255 `clearBit` 0 = 254
+255 `clearBit` 1 = 253
+255 `clearBit` 2 = 251
+255 `clearBit` 3 = 247
+255 `clearBit` 32 = 255
  
 0 `clearBit` 0 = 0
 0 `clearBit` 1 = 0
 0 `clearBit` 2 = 0
 0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
  
 1 `clearBit` 0 = 0
 1 `clearBit` 1 = 1
 1 `clearBit` 2 = 1
 1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
  
 2 `clearBit` 0 = 2
 2 `clearBit` 1 = 0
 2 `clearBit` 2 = 2
 2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
  
 3 `clearBit` 0 = 2
 3 `clearBit` 1 = 1
 3 `clearBit` 2 = 3
 3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
  
 #
--3 `complementBit` 0 = -4
--3 `complementBit` 1 = -1
--3 `complementBit` 2 = -7
--3 `complementBit` 3 = -11
+253 `complementBit` 0 = 252
+253 `complementBit` 1 = 255
+253 `complementBit` 2 = 249
+253 `complementBit` 3 = 245
+253 `complementBit` 32 = 253
  
--2 `complementBit` 0 = -1
--2 `complementBit` 1 = -4
--2 `complementBit` 2 = -6
--2 `complementBit` 3 = -10
+254 `complementBit` 0 = 255
+254 `complementBit` 1 = 252
+254 `complementBit` 2 = 250
+254 `complementBit` 3 = 246
+254 `complementBit` 32 = 254
  
--1 `complementBit` 0 = -2
--1 `complementBit` 1 = -3
--1 `complementBit` 2 = -5
--1 `complementBit` 3 = -9
+255 `complementBit` 0 = 254
+255 `complementBit` 1 = 253
+255 `complementBit` 2 = 251
+255 `complementBit` 3 = 247
+255 `complementBit` 32 = 255
  
 0 `complementBit` 0 = 1
 0 `complementBit` 1 = 2
 0 `complementBit` 2 = 4
 0 `complementBit` 3 = 8
+0 `complementBit` 32 = 0
  
 1 `complementBit` 0 = 0
 1 `complementBit` 1 = 3
 1 `complementBit` 2 = 5
 1 `complementBit` 3 = 9
+1 `complementBit` 32 = 1
  
 2 `complementBit` 0 = 3
 2 `complementBit` 1 = 0
 2 `complementBit` 2 = 6
 2 `complementBit` 3 = 10
+2 `complementBit` 32 = 2
  
 3 `complementBit` 0 = 2
 3 `complementBit` 1 = 1
 3 `complementBit` 2 = 7
 3 `complementBit` 3 = 11
+3 `complementBit` 32 = 3
  
 #
--3 `testBit` 0 = True
--3 `testBit` 1 = False
--3 `testBit` 2 = True
--3 `testBit` 3 = True
+253 `testBit` 0 = True
+253 `testBit` 1 = False
+253 `testBit` 2 = True
+253 `testBit` 3 = True
+253 `testBit` 32 = False
  
--2 `testBit` 0 = False
--2 `testBit` 1 = True
--2 `testBit` 2 = True
--2 `testBit` 3 = True
+254 `testBit` 0 = False
+254 `testBit` 1 = True
+254 `testBit` 2 = True
+254 `testBit` 3 = True
+254 `testBit` 32 = False
  
--1 `testBit` 0 = True
--1 `testBit` 1 = True
--1 `testBit` 2 = True
--1 `testBit` 3 = True
+255 `testBit` 0 = True
+255 `testBit` 1 = True
+255 `testBit` 2 = True
+255 `testBit` 3 = True
+255 `testBit` 32 = False
  
 0 `testBit` 0 = False
 0 `testBit` 1 = False
 0 `testBit` 2 = False
 0 `testBit` 3 = False
+0 `testBit` 32 = False
  
 1 `testBit` 0 = True
 1 `testBit` 1 = False
 1 `testBit` 2 = False
 1 `testBit` 3 = False
+1 `testBit` 32 = False
  
 2 `testBit` 0 = False
 2 `testBit` 1 = True
 2 `testBit` 2 = False
 2 `testBit` 3 = False
+2 `testBit` 32 = False
  
 3 `testBit` 0 = True
 3 `testBit` 1 = True
 3 `testBit` 2 = False
 3 `testBit` 3 = False
+3 `testBit` 32 = False
  
 #
-bitSize -3 = 32
-bitSize -2 = 32
-bitSize -1 = 32
-bitSize 0 = 32
-bitSize 1 = 32
-bitSize 2 = 32
-bitSize 3 = 32
+bitSize 253 = 8
+bitSize 254 = 8
+bitSize 255 = 8
+bitSize 0 = 8
+bitSize 1 = 8
+bitSize 2 = 8
+bitSize 3 = 8
 #
-isSigned -3 = True
-isSigned -2 = True
-isSigned -1 = True
-isSigned 0 = True
-isSigned 1 = True
-isSigned 2 = True
-isSigned 3 = True
+isSigned 253 = False
+isSigned 254 = False
+isSigned 255 = False
+isSigned 0 = False
+isSigned 1 = False
+isSigned 2 = False
+isSigned 3 = False
 #
 --------------------------------
---------------------------------
---Testing Word8
+--Testing Word16
 --------------------------------
 testBounded
-(255, 0, 1)
-(254, 255, 0)
+(65535,0,1)
+(65534,65535,0)
 testEnum
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
 testReadShow
-[253, 254, 255, 0, 1, 2, 3]
-[253, 254, 255, 0, 1, 2, 3]
+[65533,65534,65535,0,1,2,3]
+[65533,65534,65535,0,1,2,3]
 testEq
-253 == 253 = True
-253 == 254 = False
-253 == 255 = False
-253 == 0 = False
-253 == 1 = False
-253 == 2 = False
-253 == 3 = False
+65533 == 65533 = True
+65533 == 65534 = False
+65533 == 65535 = False
+65533 == 0 = False
+65533 == 1 = False
+65533 == 2 = False
+65533 == 3 = False
  
-254 == 253 = False
-254 == 254 = True
-254 == 255 = False
-254 == 0 = False
-254 == 1 = False
-254 == 2 = False
-254 == 3 = False
+65534 == 65533 = False
+65534 == 65534 = True
+65534 == 65535 = False
+65534 == 0 = False
+65534 == 1 = False
+65534 == 2 = False
+65534 == 3 = False
  
-255 == 253 = False
-255 == 254 = False
-255 == 255 = True
-255 == 0 = False
-255 == 1 = False
-255 == 2 = False
-255 == 3 = False
+65535 == 65533 = False
+65535 == 65534 = False
+65535 == 65535 = True
+65535 == 0 = False
+65535 == 1 = False
+65535 == 2 = False
+65535 == 3 = False
  
-0 == 253 = False
-0 == 254 = False
-0 == 255 = False
+0 == 65533 = False
+0 == 65534 = False
+0 == 65535 = False
 0 == 0 = True
 0 == 1 = False
 0 == 2 = False
 0 == 3 = False
  
-1 == 253 = False
-1 == 254 = False
-1 == 255 = False
+1 == 65533 = False
+1 == 65534 = False
+1 == 65535 = False
 1 == 0 = False
 1 == 1 = True
 1 == 2 = False
 1 == 3 = False
  
-2 == 253 = False
-2 == 254 = False
-2 == 255 = False
+2 == 65533 = False
+2 == 65534 = False
+2 == 65535 = False
 2 == 0 = False
 2 == 1 = False
 2 == 2 = True
 2 == 3 = False
  
-3 == 253 = False
-3 == 254 = False
-3 == 255 = False
+3 == 65533 = False
+3 == 65534 = False
+3 == 65535 = False
 3 == 0 = False
 3 == 1 = False
 3 == 2 = False
 3 == 3 = True
  
 #
-253 /= 253 = False
-253 /= 254 = True
-253 /= 255 = True
-253 /= 0 = True
-253 /= 1 = True
-253 /= 2 = True
-253 /= 3 = True
+65533 /= 65533 = False
+65533 /= 65534 = True
+65533 /= 65535 = True
+65533 /= 0 = True
+65533 /= 1 = True
+65533 /= 2 = True
+65533 /= 3 = True
  
-254 /= 253 = True
-254 /= 254 = False
-254 /= 255 = True
-254 /= 0 = True
-254 /= 1 = True
-254 /= 2 = True
-254 /= 3 = True
+65534 /= 65533 = True
+65534 /= 65534 = False
+65534 /= 65535 = True
+65534 /= 0 = True
+65534 /= 1 = True
+65534 /= 2 = True
+65534 /= 3 = True
  
-255 /= 253 = True
-255 /= 254 = True
-255 /= 255 = False
-255 /= 0 = True
-255 /= 1 = True
-255 /= 2 = True
-255 /= 3 = True
+65535 /= 65533 = True
+65535 /= 65534 = True
+65535 /= 65535 = False
+65535 /= 0 = True
+65535 /= 1 = True
+65535 /= 2 = True
+65535 /= 3 = True
  
-0 /= 253 = True
-0 /= 254 = True
-0 /= 255 = True
+0 /= 65533 = True
+0 /= 65534 = True
+0 /= 65535 = True
 0 /= 0 = False
 0 /= 1 = True
 0 /= 2 = True
 0 /= 3 = True
  
-1 /= 253 = True
-1 /= 254 = True
-1 /= 255 = True
+1 /= 65533 = True
+1 /= 65534 = True
+1 /= 65535 = True
 1 /= 0 = True
 1 /= 1 = False
 1 /= 2 = True
 1 /= 3 = True
  
-2 /= 253 = True
-2 /= 254 = True
-2 /= 255 = True
+2 /= 65533 = True
+2 /= 65534 = True
+2 /= 65535 = True
 2 /= 0 = True
 2 /= 1 = True
 2 /= 2 = False
 2 /= 3 = True
  
-3 /= 253 = True
-3 /= 254 = True
-3 /= 255 = True
+3 /= 65533 = True
+3 /= 65534 = True
+3 /= 65535 = True
 3 /= 0 = True
 3 /= 1 = True
 3 /= 2 = True
@@ -4097,285 +6633,285 @@ testEq
  
 #
 testOrd
-253 <= 253 = True
-253 <= 254 = True
-253 <= 255 = True
-253 <= 0 = False
-253 <= 1 = False
-253 <= 2 = False
-253 <= 3 = False
+65533 <= 65533 = True
+65533 <= 65534 = True
+65533 <= 65535 = True
+65533 <= 0 = False
+65533 <= 1 = False
+65533 <= 2 = False
+65533 <= 3 = False
  
-254 <= 253 = False
-254 <= 254 = True
-254 <= 255 = True
-254 <= 0 = False
-254 <= 1 = False
-254 <= 2 = False
-254 <= 3 = False
+65534 <= 65533 = False
+65534 <= 65534 = True
+65534 <= 65535 = True
+65534 <= 0 = False
+65534 <= 1 = False
+65534 <= 2 = False
+65534 <= 3 = False
  
-255 <= 253 = False
-255 <= 254 = False
-255 <= 255 = True
-255 <= 0 = False
-255 <= 1 = False
-255 <= 2 = False
-255 <= 3 = False
+65535 <= 65533 = False
+65535 <= 65534 = False
+65535 <= 65535 = True
+65535 <= 0 = False
+65535 <= 1 = False
+65535 <= 2 = False
+65535 <= 3 = False
  
-0 <= 253 = True
-0 <= 254 = True
-0 <= 255 = True
+0 <= 65533 = True
+0 <= 65534 = True
+0 <= 65535 = True
 0 <= 0 = True
 0 <= 1 = True
 0 <= 2 = True
 0 <= 3 = True
  
-1 <= 253 = True
-1 <= 254 = True
-1 <= 255 = True
+1 <= 65533 = True
+1 <= 65534 = True
+1 <= 65535 = True
 1 <= 0 = False
 1 <= 1 = True
 1 <= 2 = True
 1 <= 3 = True
  
-2 <= 253 = True
-2 <= 254 = True
-2 <= 255 = True
+2 <= 65533 = True
+2 <= 65534 = True
+2 <= 65535 = True
 2 <= 0 = False
 2 <= 1 = False
 2 <= 2 = True
 2 <= 3 = True
  
-3 <= 253 = True
-3 <= 254 = True
-3 <= 255 = True
+3 <= 65533 = True
+3 <= 65534 = True
+3 <= 65535 = True
 3 <= 0 = False
 3 <= 1 = False
 3 <= 2 = False
 3 <= 3 = True
  
 #
-253 <  253 = False
-253 <  254 = True
-253 <  255 = True
-253 <  0 = False
-253 <  1 = False
-253 <  2 = False
-253 <  3 = False
+65533 <  65533 = False
+65533 <  65534 = True
+65533 <  65535 = True
+65533 <  0 = False
+65533 <  1 = False
+65533 <  2 = False
+65533 <  3 = False
  
-254 <  253 = False
-254 <  254 = False
-254 <  255 = True
-254 <  0 = False
-254 <  1 = False
-254 <  2 = False
-254 <  3 = False
+65534 <  65533 = False
+65534 <  65534 = False
+65534 <  65535 = True
+65534 <  0 = False
+65534 <  1 = False
+65534 <  2 = False
+65534 <  3 = False
  
-255 <  253 = False
-255 <  254 = False
-255 <  255 = False
-255 <  0 = False
-255 <  1 = False
-255 <  2 = False
-255 <  3 = False
+65535 <  65533 = False
+65535 <  65534 = False
+65535 <  65535 = False
+65535 <  0 = False
+65535 <  1 = False
+65535 <  2 = False
+65535 <  3 = False
  
-0 <  253 = True
-0 <  254 = True
-0 <  255 = True
+0 <  65533 = True
+0 <  65534 = True
+0 <  65535 = True
 0 <  0 = False
 0 <  1 = True
 0 <  2 = True
 0 <  3 = True
  
-1 <  253 = True
-1 <  254 = True
-1 <  255 = True
+1 <  65533 = True
+1 <  65534 = True
+1 <  65535 = True
 1 <  0 = False
 1 <  1 = False
 1 <  2 = True
 1 <  3 = True
  
-2 <  253 = True
-2 <  254 = True
-2 <  255 = True
+2 <  65533 = True
+2 <  65534 = True
+2 <  65535 = True
 2 <  0 = False
 2 <  1 = False
 2 <  2 = False
 2 <  3 = True
  
-3 <  253 = True
-3 <  254 = True
-3 <  255 = True
+3 <  65533 = True
+3 <  65534 = True
+3 <  65535 = True
 3 <  0 = False
 3 <  1 = False
 3 <  2 = False
 3 <  3 = False
  
 #
-253 >  253 = False
-253 >  254 = False
-253 >  255 = False
-253 >  0 = True
-253 >  1 = True
-253 >  2 = True
-253 >  3 = True
+65533 >  65533 = False
+65533 >  65534 = False
+65533 >  65535 = False
+65533 >  0 = True
+65533 >  1 = True
+65533 >  2 = True
+65533 >  3 = True
  
-254 >  253 = True
-254 >  254 = False
-254 >  255 = False
-254 >  0 = True
-254 >  1 = True
-254 >  2 = True
-254 >  3 = True
+65534 >  65533 = True
+65534 >  65534 = False
+65534 >  65535 = False
+65534 >  0 = True
+65534 >  1 = True
+65534 >  2 = True
+65534 >  3 = True
  
-255 >  253 = True
-255 >  254 = True
-255 >  255 = False
-255 >  0 = True
-255 >  1 = True
-255 >  2 = True
-255 >  3 = True
+65535 >  65533 = True
+65535 >  65534 = True
+65535 >  65535 = False
+65535 >  0 = True
+65535 >  1 = True
+65535 >  2 = True
+65535 >  3 = True
  
-0 >  253 = False
-0 >  254 = False
-0 >  255 = False
+0 >  65533 = False
+0 >  65534 = False
+0 >  65535 = False
 0 >  0 = False
 0 >  1 = False
 0 >  2 = False
 0 >  3 = False
  
-1 >  253 = False
-1 >  254 = False
-1 >  255 = False
+1 >  65533 = False
+1 >  65534 = False
+1 >  65535 = False
 1 >  0 = True
 1 >  1 = False
 1 >  2 = False
 1 >  3 = False
  
-2 >  253 = False
-2 >  254 = False
-2 >  255 = False
+2 >  65533 = False
+2 >  65534 = False
+2 >  65535 = False
 2 >  0 = True
 2 >  1 = True
 2 >  2 = False
 2 >  3 = False
  
-3 >  253 = False
-3 >  254 = False
-3 >  255 = False
+3 >  65533 = False
+3 >  65534 = False
+3 >  65535 = False
 3 >  0 = True
 3 >  1 = True
 3 >  2 = True
 3 >  3 = False
  
 #
-253 >= 253 = True
-253 >= 254 = False
-253 >= 255 = False
-253 >= 0 = True
-253 >= 1 = True
-253 >= 2 = True
-253 >= 3 = True
-254 >= 253 = True
-254 >= 254 = True
-254 >= 255 = False
-254 >= 0 = True
-254 >= 1 = True
-254 >= 2 = True
-254 >= 3 = True
+65533 >= 65533 = True
+65533 >= 65534 = False
+65533 >= 65535 = False
+65533 >= 0 = True
+65533 >= 1 = True
+65533 >= 2 = True
+65533 >= 3 = True
  
-255 >= 253 = True
-255 >= 254 = True
-255 >= 255 = True
-255 >= 0 = True
-255 >= 1 = True
-255 >= 2 = True
-255 >= 3 = True
+65534 >= 65533 = True
+65534 >= 65534 = True
+65534 >= 65535 = False
+65534 >= 0 = True
+65534 >= 1 = True
+65534 >= 2 = True
+65534 >= 3 = True
  
-0 >= 253 = False
-0 >= 254 = False
-0 >= 255 = False
+65535 >= 65533 = True
+65535 >= 65534 = True
+65535 >= 65535 = True
+65535 >= 0 = True
+65535 >= 1 = True
+65535 >= 2 = True
+65535 >= 3 = True
+0 >= 65533 = False
+0 >= 65534 = False
+0 >= 65535 = False
 0 >= 0 = True
 0 >= 1 = False
 0 >= 2 = False
 0 >= 3 = False
  
-1 >= 253 = False
-1 >= 254 = False
-1 >= 255 = False
+1 >= 65533 = False
+1 >= 65534 = False
+1 >= 65535 = False
 1 >= 0 = True
 1 >= 1 = True
 1 >= 2 = False
 1 >= 3 = False
  
-2 >= 253 = False
-2 >= 254 = False
-2 >= 255 = False
+2 >= 65533 = False
+2 >= 65534 = False
+2 >= 65535 = False
 2 >= 0 = True
 2 >= 1 = True
 2 >= 2 = True
 2 >= 3 = False
  
-3 >= 253 = False
-3 >= 254 = False
-3 >= 255 = False
+3 >= 65533 = False
+3 >= 65534 = False
+3 >= 65535 = False
 3 >= 0 = True
 3 >= 1 = True
 3 >= 2 = True
 3 >= 3 = True
  
 #
-253 `compare` 253 = EQ
-253 `compare` 254 = LT
-253 `compare` 255 = LT
-253 `compare` 0 = GT
-253 `compare` 1 = GT
-253 `compare` 2 = GT
-253 `compare` 3 = GT
+65533 `compare` 65533 = EQ
+65533 `compare` 65534 = LT
+65533 `compare` 65535 = LT
+65533 `compare` 0 = GT
+65533 `compare` 1 = GT
+65533 `compare` 2 = GT
+65533 `compare` 3 = GT
  
-254 `compare` 253 = GT
-254 `compare` 254 = EQ
-254 `compare` 255 = LT
-254 `compare` 0 = GT
-254 `compare` 1 = GT
-254 `compare` 2 = GT
-254 `compare` 3 = GT
+65534 `compare` 65533 = GT
+65534 `compare` 65534 = EQ
+65534 `compare` 65535 = LT
+65534 `compare` 0 = GT
+65534 `compare` 1 = GT
+65534 `compare` 2 = GT
+65534 `compare` 3 = GT
  
-255 `compare` 253 = GT
-255 `compare` 254 = GT
-255 `compare` 255 = EQ
-255 `compare` 0 = GT
-255 `compare` 1 = GT
-255 `compare` 2 = GT
-255 `compare` 3 = GT
+65535 `compare` 65533 = GT
+65535 `compare` 65534 = GT
+65535 `compare` 65535 = EQ
+65535 `compare` 0 = GT
+65535 `compare` 1 = GT
+65535 `compare` 2 = GT
+65535 `compare` 3 = GT
  
-0 `compare` 253 = LT
-0 `compare` 254 = LT
-0 `compare` 255 = LT
+0 `compare` 65533 = LT
+0 `compare` 65534 = LT
+0 `compare` 65535 = LT
 0 `compare` 0 = EQ
 0 `compare` 1 = LT
 0 `compare` 2 = LT
 0 `compare` 3 = LT
  
-1 `compare` 253 = LT
-1 `compare` 254 = LT
-1 `compare` 255 = LT
+1 `compare` 65533 = LT
+1 `compare` 65534 = LT
+1 `compare` 65535 = LT
 1 `compare` 0 = GT
 1 `compare` 1 = EQ
 1 `compare` 2 = LT
 1 `compare` 3 = LT
  
-2 `compare` 253 = LT
-2 `compare` 254 = LT
-2 `compare` 255 = LT
+2 `compare` 65533 = LT
+2 `compare` 65534 = LT
+2 `compare` 65535 = LT
 2 `compare` 0 = GT
 2 `compare` 1 = GT
 2 `compare` 2 = EQ
 2 `compare` 3 = LT
  
-3 `compare` 253 = LT
-3 `compare` 254 = LT
-3 `compare` 255 = LT
+3 `compare` 65533 = LT
+3 `compare` 65534 = LT
+3 `compare` 65535 = LT
 3 `compare` 0 = GT
 3 `compare` 1 = GT
 3 `compare` 2 = GT
@@ -4383,713 +6919,763 @@ testOrd
  
 #
 testNum
-253 + 253 = 250
-253 + 254 = 251
-253 + 255 = 252
-253 + 0 = 253
-253 + 1 = 254
-253 + 2 = 255
-253 + 3 = 0
+65533 + 65533 = 65530
+65533 + 65534 = 65531
+65533 + 65535 = 65532
+65533 + 0 = 65533
+65533 + 1 = 65534
+65533 + 2 = 65535
+65533 + 3 = 0
  
-254 + 253 = 251
-254 + 254 = 252
-254 + 255 = 253
-254 + 0 = 254
-254 + 1 = 255
-254 + 2 = 0
-254 + 3 = 1
+65534 + 65533 = 65531
+65534 + 65534 = 65532
+65534 + 65535 = 65533
+65534 + 0 = 65534
+65534 + 1 = 65535
+65534 + 2 = 0
+65534 + 3 = 1
  
-255 + 253 = 252
-255 + 254 = 253
-255 + 255 = 254
-255 + 0 = 255
-255 + 1 = 0
-255 + 2 = 1
-255 + 3 = 2
+65535 + 65533 = 65532
+65535 + 65534 = 65533
+65535 + 65535 = 65534
+65535 + 0 = 65535
+65535 + 1 = 0
+65535 + 2 = 1
+65535 + 3 = 2
  
-0 + 253 = 253
-0 + 254 = 254
-0 + 255 = 255
+0 + 65533 = 65533
+0 + 65534 = 65534
+0 + 65535 = 65535
 0 + 0 = 0
 0 + 1 = 1
 0 + 2 = 2
 0 + 3 = 3
  
-1 + 253 = 254
-1 + 254 = 255
-1 + 255 = 0
+1 + 65533 = 65534
+1 + 65534 = 65535
+1 + 65535 = 0
 1 + 0 = 1
 1 + 1 = 2
 1 + 2 = 3
 1 + 3 = 4
  
-2 + 253 = 255
-2 + 254 = 0
-2 + 255 = 1
+2 + 65533 = 65535
+2 + 65534 = 0
+2 + 65535 = 1
 2 + 0 = 2
 2 + 1 = 3
 2 + 2 = 4
 2 + 3 = 5
  
-3 + 253 = 0
-3 + 254 = 1
-3 + 255 = 2
+3 + 65533 = 0
+3 + 65534 = 1
+3 + 65535 = 2
 3 + 0 = 3
 3 + 1 = 4
 3 + 2 = 5
 3 + 3 = 6
  
 #
-253 - 253 = 0
-253 - 254 = 255
-253 - 255 = 254
-253 - 0 = 253
-253 - 1 = 252
-253 - 2 = 251
-253 - 3 = 250
+65533 - 65533 = 0
+65533 - 65534 = 65535
+65533 - 65535 = 65534
+65533 - 0 = 65533
+65533 - 1 = 65532
+65533 - 2 = 65531
+65533 - 3 = 65530
  
-254 - 253 = 1
-254 - 254 = 0
-254 - 255 = 255
-254 - 0 = 254
-254 - 1 = 253
-254 - 2 = 252
-254 - 3 = 251
+65534 - 65533 = 1
+65534 - 65534 = 0
+65534 - 65535 = 65535
+65534 - 0 = 65534
+65534 - 1 = 65533
+65534 - 2 = 65532
+65534 - 3 = 65531
  
-255 - 253 = 2
-255 - 254 = 1
-255 - 255 = 0
-255 - 0 = 255
-255 - 1 = 254
-255 - 2 = 253
-255 - 3 = 252
+65535 - 65533 = 2
+65535 - 65534 = 1
+65535 - 65535 = 0
+65535 - 0 = 65535
+65535 - 1 = 65534
+65535 - 2 = 65533
+65535 - 3 = 65532
  
-0 - 253 = 3
-0 - 254 = 2
-0 - 255 = 1
+0 - 65533 = 3
+0 - 65534 = 2
+0 - 65535 = 1
 0 - 0 = 0
-0 - 1 = 255
-0 - 2 = 254
-0 - 3 = 253
+0 - 1 = 65535
+0 - 2 = 65534
+0 - 3 = 65533
  
-1 - 253 = 4
-1 - 254 = 3
-1 - 255 = 2
+1 - 65533 = 4
+1 - 65534 = 3
+1 - 65535 = 2
 1 - 0 = 1
 1 - 1 = 0
-1 - 2 = 255
-1 - 3 = 254
+1 - 2 = 65535
+1 - 3 = 65534
  
-2 - 253 = 5
-2 - 254 = 4
-2 - 255 = 3
+2 - 65533 = 5
+2 - 65534 = 4
+2 - 65535 = 3
 2 - 0 = 2
 2 - 1 = 1
 2 - 2 = 0
-2 - 3 = 255
-3 - 253 = 6
-3 - 254 = 5
-3 - 255 = 4
+2 - 3 = 65535
+3 - 65533 = 6
+3 - 65534 = 5
+3 - 65535 = 4
 3 - 0 = 3
 3 - 1 = 2
 3 - 2 = 1
 3 - 3 = 0
  
 #
-253 * 253 = 9
-253 * 254 = 6
-253 * 255 = 3
-253 * 0 = 0
-253 * 1 = 253
-253 * 2 = 250
-253 * 3 = 247
+65533 * 65533 = 9
+65533 * 65534 = 6
+65533 * 65535 = 3
+65533 * 0 = 0
+65533 * 1 = 65533
+65533 * 2 = 65530
+65533 * 3 = 65527
  
-254 * 253 = 6
-254 * 254 = 4
-254 * 255 = 2
-254 * 0 = 0
-254 * 1 = 254
-254 * 2 = 252
-254 * 3 = 250
+65534 * 65533 = 6
+65534 * 65534 = 4
+65534 * 65535 = 2
+65534 * 0 = 0
+65534 * 1 = 65534
+65534 * 2 = 65532
+65534 * 3 = 65530
  
-255 * 253 = 3
-255 * 254 = 2
-255 * 255 = 1
-255 * 0 = 0
-255 * 1 = 255
-255 * 2 = 254
-255 * 3 = 253
+65535 * 65533 = 3
+65535 * 65534 = 2
+65535 * 65535 = 1
+65535 * 0 = 0
+65535 * 1 = 65535
+65535 * 2 = 65534
+65535 * 3 = 65533
  
-0 * 253 = 0
-0 * 254 = 0
-0 * 255 = 0
+0 * 65533 = 0
+0 * 65534 = 0
+0 * 65535 = 0
 0 * 0 = 0
 0 * 1 = 0
 0 * 2 = 0
 0 * 3 = 0
  
-1 * 253 = 253
-1 * 254 = 254
-1 * 255 = 255
+1 * 65533 = 65533
+1 * 65534 = 65534
+1 * 65535 = 65535
 1 * 0 = 0
 1 * 1 = 1
 1 * 2 = 2
 1 * 3 = 3
  
-2 * 253 = 250
-2 * 254 = 252
-2 * 255 = 254
+2 * 65533 = 65530
+2 * 65534 = 65532
+2 * 65535 = 65534
 2 * 0 = 0
 2 * 1 = 2
 2 * 2 = 4
 2 * 3 = 6
  
-3 * 253 = 247
-3 * 254 = 250
-3 * 255 = 253
+3 * 65533 = 65527
+3 * 65534 = 65530
+3 * 65535 = 65533
 3 * 0 = 0
 3 * 1 = 3
 3 * 2 = 6
 3 * 3 = 9
  
 #
-negate 253 = 3
-negate 254 = 2
-negate 255 = 1
+negate 65533 = 3
+negate 65534 = 2
+negate 65535 = 1
 negate 0 = 0
-negate 1 = 255
-negate 2 = 254
-negate 3 = 253
+negate 1 = 65535
+negate 2 = 65534
+negate 3 = 65533
 #
 testReal
-toRational 253 = 253 % 1
-toRational 254 = 254 % 1
-toRational 255 = 255 % 1
+toRational 65533 = 65533 % 1
+toRational 65534 = 65534 % 1
+toRational 65535 = 65535 % 1
 toRational 0 = 0 % 1
 toRational 1 = 1 % 1
 toRational 2 = 2 % 1
 toRational 3 = 3 % 1
 #
 testIntegral
-253 `divMod`  253 = (1, 0)
-253 `divMod`  254 = (0, 253)
-253 `divMod`  255 = (0, 253)
-253 `divMod`  1 = (253, 0)
-253 `divMod`  2 = (126, 1)
-253 `divMod`  3 = (84, 1)
-254 `divMod`  253 = (1, 1)
-254 `divMod`  254 = (1, 0)
-254 `divMod`  255 = (0, 254)
-254 `divMod`  1 = (254, 0)
-254 `divMod`  2 = (127, 0)
-254 `divMod`  3 = (84, 2)
-255 `divMod`  253 = (1, 2)
-255 `divMod`  254 = (1, 1)
-255 `divMod`  255 = (1, 0)
-255 `divMod`  1 = (255, 0)
-255 `divMod`  2 = (127, 1)
-255 `divMod`  3 = (85, 0)
-0 `divMod`  253 = (0, 0)
-0 `divMod`  254 = (0, 0)
-0 `divMod`  255 = (0, 0)
-0 `divMod`  1 = (0, 0)
-0 `divMod`  2 = (0, 0)
-0 `divMod`  3 = (0, 0)
-1 `divMod`  253 = (0, 1)
-1 `divMod`  254 = (0, 1)
-1 `divMod`  255 = (0, 1)
-1 `divMod`  1 = (1, 0)
-1 `divMod`  2 = (0, 1)
-1 `divMod`  3 = (0, 1)
-2 `divMod`  253 = (0, 2)
-2 `divMod`  254 = (0, 2)
-2 `divMod`  255 = (0, 2)
-2 `divMod`  1 = (2, 0)
-2 `divMod`  2 = (1, 0)
-2 `divMod`  3 = (0, 2)
-3 `divMod`  253 = (0, 3)
-3 `divMod`  254 = (0, 3)
-3 `divMod`  255 = (0, 3)
-3 `divMod`  1 = (3, 0)
-3 `divMod`  2 = (1, 1)
-3 `divMod`  3 = (1, 0)
+65533 `divMod`  65533 = (1,0)
+65533 `divMod`  65534 = (0,65533)
+65533 `divMod`  65535 = (0,65533)
+65533 `divMod`  1 = (65533,0)
+65533 `divMod`  2 = (32766,1)
+65533 `divMod`  3 = (21844,1)
+65534 `divMod`  65533 = (1,1)
+65534 `divMod`  65534 = (1,0)
+65534 `divMod`  65535 = (0,65534)
+65534 `divMod`  1 = (65534,0)
+65534 `divMod`  2 = (32767,0)
+65534 `divMod`  3 = (21844,2)
+65535 `divMod`  65533 = (1,2)
+65535 `divMod`  65534 = (1,1)
+65535 `divMod`  65535 = (1,0)
+65535 `divMod`  1 = (65535,0)
+65535 `divMod`  2 = (32767,1)
+65535 `divMod`  3 = (21845,0)
+0 `divMod`  65533 = (0,0)
+0 `divMod`  65534 = (0,0)
+0 `divMod`  65535 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  65533 = (0,1)
+1 `divMod`  65534 = (0,1)
+1 `divMod`  65535 = (0,1)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  65533 = (0,2)
+2 `divMod`  65534 = (0,2)
+2 `divMod`  65535 = (0,2)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  65533 = (0,3)
+3 `divMod`  65534 = (0,3)
+3 `divMod`  65535 = (0,3)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
  
 #
-253 `div`     253 = 1
-253 `div`     254 = 0
-253 `div`     255 = 0
-253 `div`     1 = 253
-253 `div`     2 = 126
-253 `div`     3 = 84
+65533 `div`     65533 = 1
+65533 `div`     65534 = 0
+65533 `div`     65535 = 0
+65533 `div`     1 = 65533
+65533 `div`     2 = 32766
+65533 `div`     3 = 21844
  
-254 `div`     253 = 1
-254 `div`     254 = 1
-254 `div`     255 = 0
-254 `div`     1 = 254
-254 `div`     2 = 127
-254 `div`     3 = 84
+65534 `div`     65533 = 1
+65534 `div`     65534 = 1
+65534 `div`     65535 = 0
+65534 `div`     1 = 65534
+65534 `div`     2 = 32767
+65534 `div`     3 = 21844
  
-255 `div`     253 = 1
-255 `div`     254 = 1
-255 `div`     255 = 1
-255 `div`     1 = 255
-255 `div`     2 = 127
-255 `div`     3 = 85
+65535 `div`     65533 = 1
+65535 `div`     65534 = 1
+65535 `div`     65535 = 1
+65535 `div`     1 = 65535
+65535 `div`     2 = 32767
+65535 `div`     3 = 21845
  
-0 `div`     253 = 0
-0 `div`     254 = 0
-0 `div`     255 = 0
+0 `div`     65533 = 0
+0 `div`     65534 = 0
+0 `div`     65535 = 0
 0 `div`     1 = 0
 0 `div`     2 = 0
 0 `div`     3 = 0
  
-1 `div`     253 = 0
-1 `div`     254 = 0
-1 `div`     255 = 0
+1 `div`     65533 = 0
+1 `div`     65534 = 0
+1 `div`     65535 = 0
 1 `div`     1 = 1
 1 `div`     2 = 0
 1 `div`     3 = 0
  
-2 `div`     253 = 0
-2 `div`     254 = 0
-2 `div`     255 = 0
+2 `div`     65533 = 0
+2 `div`     65534 = 0
+2 `div`     65535 = 0
 2 `div`     1 = 2
 2 `div`     2 = 1
 2 `div`     3 = 0
  
-3 `div`     253 = 0
-3 `div`     254 = 0
-3 `div`     255 = 0
+3 `div`     65533 = 0
+3 `div`     65534 = 0
+3 `div`     65535 = 0
 3 `div`     1 = 3
 3 `div`     2 = 1
 3 `div`     3 = 1
  
 #
-253 `mod`     253 = 0
-253 `mod`     254 = 253
-253 `mod`     255 = 253
-253 `mod`     1 = 0
-253 `mod`     2 = 1
-253 `mod`     3 = 1
+65533 `mod`     65533 = 0
+65533 `mod`     65534 = 65533
+65533 `mod`     65535 = 65533
+65533 `mod`     1 = 0
+65533 `mod`     2 = 1
+65533 `mod`     3 = 1
  
-254 `mod`     253 = 1
-254 `mod`     254 = 0
-254 `mod`     255 = 254
-254 `mod`     1 = 0
-254 `mod`     2 = 0
-254 `mod`     3 = 2
+65534 `mod`     65533 = 1
+65534 `mod`     65534 = 0
+65534 `mod`     65535 = 65534
+65534 `mod`     1 = 0
+65534 `mod`     2 = 0
+65534 `mod`     3 = 2
  
-255 `mod`     253 = 2
-255 `mod`     254 = 1
-255 `mod`     255 = 0
-255 `mod`     1 = 0
-255 `mod`     2 = 1
-255 `mod`     3 = 0
+65535 `mod`     65533 = 2
+65535 `mod`     65534 = 1
+65535 `mod`     65535 = 0
+65535 `mod`     1 = 0
+65535 `mod`     2 = 1
+65535 `mod`     3 = 0
  
-0 `mod`     253 = 0
-0 `mod`     254 = 0
-0 `mod`     255 = 0
+0 `mod`     65533 = 0
+0 `mod`     65534 = 0
+0 `mod`     65535 = 0
 0 `mod`     1 = 0
 0 `mod`     2 = 0
 0 `mod`     3 = 0
  
-1 `mod`     253 = 1
-1 `mod`     254 = 1
-1 `mod`     255 = 1
+1 `mod`     65533 = 1
+1 `mod`     65534 = 1
+1 `mod`     65535 = 1
 1 `mod`     1 = 0
 1 `mod`     2 = 1
 1 `mod`     3 = 1
  
-2 `mod`     253 = 2
-2 `mod`     254 = 2
-2 `mod`     255 = 2
+2 `mod`     65533 = 2
+2 `mod`     65534 = 2
+2 `mod`     65535 = 2
 2 `mod`     1 = 0
 2 `mod`     2 = 0
 2 `mod`     3 = 2
  
-3 `mod`     253 = 3
-3 `mod`     254 = 3
-3 `mod`     255 = 3
+3 `mod`     65533 = 3
+3 `mod`     65534 = 3
+3 `mod`     65535 = 3
 3 `mod`     1 = 0
 3 `mod`     2 = 1
 3 `mod`     3 = 0
  
 #
-253 `quotRem` 253 = (1, 0)
-253 `quotRem` 254 = (0, 253)
-253 `quotRem` 255 = (0, 253)
-253 `quotRem` 1 = (253, 0)
-253 `quotRem` 2 = (126, 1)
-253 `quotRem` 3 = (84, 1)
-254 `quotRem` 253 = (1, 1)
-254 `quotRem` 254 = (1, 0)
-254 `quotRem` 255 = (0, 254)
-254 `quotRem` 1 = (254, 0)
-254 `quotRem` 2 = (127, 0)
-254 `quotRem` 3 = (84, 2)
-255 `quotRem` 253 = (1, 2)
-255 `quotRem` 254 = (1, 1)
-255 `quotRem` 255 = (1, 0)
-255 `quotRem` 1 = (255, 0)
-255 `quotRem` 2 = (127, 1)
-255 `quotRem` 3 = (85, 0)
-0 `quotRem` 253 = (0, 0)
-0 `quotRem` 254 = (0, 0)
-0 `quotRem` 255 = (0, 0)
-0 `quotRem` 1 = (0, 0)
-0 `quotRem` 2 = (0, 0)
-0 `quotRem` 3 = (0, 0)
-1 `quotRem` 253 = (0, 1)
-1 `quotRem` 254 = (0, 1)
-1 `quotRem` 255 = (0, 1)
-1 `quotRem` 1 = (1, 0)
-1 `quotRem` 2 = (0, 1)
-1 `quotRem` 3 = (0, 1)
-2 `quotRem` 253 = (0, 2)
-2 `quotRem` 254 = (0, 2)
-2 `quotRem` 255 = (0, 2)
-2 `quotRem` 1 = (2, 0)
-2 `quotRem` 2 = (1, 0)
-2 `quotRem` 3 = (0, 2)
-3 `quotRem` 253 = (0, 3)
-3 `quotRem` 254 = (0, 3)
-3 `quotRem` 255 = (0, 3)
-3 `quotRem` 1 = (3, 0)
-3 `quotRem` 2 = (1, 1)
-3 `quotRem` 3 = (1, 0)
+65533 `quotRem` 65533 = (1,0)
+65533 `quotRem` 65534 = (0,65533)
+65533 `quotRem` 65535 = (0,65533)
+65533 `quotRem` 1 = (65533,0)
+65533 `quotRem` 2 = (32766,1)
+65533 `quotRem` 3 = (21844,1)
+65534 `quotRem` 65533 = (1,1)
+65534 `quotRem` 65534 = (1,0)
+65534 `quotRem` 65535 = (0,65534)
+65534 `quotRem` 1 = (65534,0)
+65534 `quotRem` 2 = (32767,0)
+65534 `quotRem` 3 = (21844,2)
+65535 `quotRem` 65533 = (1,2)
+65535 `quotRem` 65534 = (1,1)
+65535 `quotRem` 65535 = (1,0)
+65535 `quotRem` 1 = (65535,0)
+65535 `quotRem` 2 = (32767,1)
+65535 `quotRem` 3 = (21845,0)
+0 `quotRem` 65533 = (0,0)
+0 `quotRem` 65534 = (0,0)
+0 `quotRem` 65535 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` 65533 = (0,1)
+1 `quotRem` 65534 = (0,1)
+1 `quotRem` 65535 = (0,1)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` 65533 = (0,2)
+2 `quotRem` 65534 = (0,2)
+2 `quotRem` 65535 = (0,2)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` 65533 = (0,3)
+3 `quotRem` 65534 = (0,3)
+3 `quotRem` 65535 = (0,3)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
  
 #
-253 `quot`    253 = 1
-253 `quot`    254 = 0
-253 `quot`    255 = 0
-253 `quot`    1 = 253
-253 `quot`    2 = 126
-253 `quot`    3 = 84
+65533 `quot`    65533 = 1
+65533 `quot`    65534 = 0
+65533 `quot`    65535 = 0
+65533 `quot`    1 = 65533
+65533 `quot`    2 = 32766
+65533 `quot`    3 = 21844
  
-254 `quot`    253 = 1
-254 `quot`    254 = 1
-254 `quot`    255 = 0
-254 `quot`    1 = 254
-254 `quot`    2 = 127
-254 `quot`    3 = 84
+65534 `quot`    65533 = 1
+65534 `quot`    65534 = 1
+65534 `quot`    65535 = 0
+65534 `quot`    1 = 65534
+65534 `quot`    2 = 32767
+65534 `quot`    3 = 21844
  
-255 `quot`    253 = 1
-255 `quot`    254 = 1
-255 `quot`    255 = 1
-255 `quot`    1 = 255
-255 `quot`    2 = 127
-255 `quot`    3 = 85
+65535 `quot`    65533 = 1
+65535 `quot`    65534 = 1
+65535 `quot`    65535 = 1
+65535 `quot`    1 = 65535
+65535 `quot`    2 = 32767
+65535 `quot`    3 = 21845
  
-0 `quot`    253 = 0
-0 `quot`    254 = 0
-0 `quot`    255 = 0
+0 `quot`    65533 = 0
+0 `quot`    65534 = 0
+0 `quot`    65535 = 0
 0 `quot`    1 = 0
 0 `quot`    2 = 0
-0 `quot`    3 = 0
-1 `quot`    253 = 0
-1 `quot`    254 = 0
-1 `quot`    255 = 0
+0 `quot`    3 = 0
+1 `quot`    65533 = 0
+1 `quot`    65534 = 0
+1 `quot`    65535 = 0
 1 `quot`    1 = 1
 1 `quot`    2 = 0
 1 `quot`    3 = 0
  
-2 `quot`    253 = 0
-2 `quot`    254 = 0
-2 `quot`    255 = 0
+2 `quot`    65533 = 0
+2 `quot`    65534 = 0
+2 `quot`    65535 = 0
 2 `quot`    1 = 2
 2 `quot`    2 = 1
 2 `quot`    3 = 0
  
-3 `quot`    253 = 0
-3 `quot`    254 = 0
-3 `quot`    255 = 0
+3 `quot`    65533 = 0
+3 `quot`    65534 = 0
+3 `quot`    65535 = 0
 3 `quot`    1 = 3
 3 `quot`    2 = 1
 3 `quot`    3 = 1
  
 #
-253 `rem`     253 = 0
-253 `rem`     254 = 253
-253 `rem`     255 = 253
-253 `rem`     1 = 0
-253 `rem`     2 = 1
-253 `rem`     3 = 1
+65533 `rem`     65533 = 0
+65533 `rem`     65534 = 65533
+65533 `rem`     65535 = 65533
+65533 `rem`     1 = 0
+65533 `rem`     2 = 1
+65533 `rem`     3 = 1
  
-254 `rem`     253 = 1
-254 `rem`     254 = 0
-254 `rem`     255 = 254
-254 `rem`     1 = 0
-254 `rem`     2 = 0
-254 `rem`     3 = 2
+65534 `rem`     65533 = 1
+65534 `rem`     65534 = 0
+65534 `rem`     65535 = 65534
+65534 `rem`     1 = 0
+65534 `rem`     2 = 0
+65534 `rem`     3 = 2
  
-255 `rem`     253 = 2
-255 `rem`     254 = 1
-255 `rem`     255 = 0
-255 `rem`     1 = 0
-255 `rem`     2 = 1
-255 `rem`     3 = 0
+65535 `rem`     65533 = 2
+65535 `rem`     65534 = 1
+65535 `rem`     65535 = 0
+65535 `rem`     1 = 0
+65535 `rem`     2 = 1
+65535 `rem`     3 = 0
  
-0 `rem`     253 = 0
-0 `rem`     254 = 0
-0 `rem`     255 = 0
+0 `rem`     65533 = 0
+0 `rem`     65534 = 0
+0 `rem`     65535 = 0
 0 `rem`     1 = 0
 0 `rem`     2 = 0
 0 `rem`     3 = 0
  
-1 `rem`     253 = 1
-1 `rem`     254 = 1
-1 `rem`     255 = 1
+1 `rem`     65533 = 1
+1 `rem`     65534 = 1
+1 `rem`     65535 = 1
 1 `rem`     1 = 0
 1 `rem`     2 = 1
 1 `rem`     3 = 1
  
-2 `rem`     253 = 2
-2 `rem`     254 = 2
-2 `rem`     255 = 2
+2 `rem`     65533 = 2
+2 `rem`     65534 = 2
+2 `rem`     65535 = 2
 2 `rem`     1 = 0
 2 `rem`     2 = 0
 2 `rem`     3 = 2
  
-3 `rem`     253 = 3
-3 `rem`     254 = 3
-3 `rem`     255 = 3
+3 `rem`     65533 = 3
+3 `rem`     65534 = 3
+3 `rem`     65535 = 3
 3 `rem`     1 = 0
 3 `rem`     2 = 1
 3 `rem`     3 = 0
  
 #
 testBits
-253 .&.   253 = 253
-253 .&.   254 = 252
-253 .&.   255 = 253
-253 .&.   1 = 1
-253 .&.   2 = 0
-253 .&.   3 = 1
+65533 .&.   65533 = 65533
+65533 .&.   65534 = 65532
+65533 .&.   65535 = 65533
+65533 .&.   1 = 1
+65533 .&.   2 = 0
+65533 .&.   3 = 1
  
-254 .&.   253 = 252
-254 .&.   254 = 254
-254 .&.   255 = 254
-254 .&.   1 = 0
-254 .&.   2 = 2
-254 .&.   3 = 2
+65534 .&.   65533 = 65532
+65534 .&.   65534 = 65534
+65534 .&.   65535 = 65534
+65534 .&.   1 = 0
+65534 .&.   2 = 2
+65534 .&.   3 = 2
  
-255 .&.   253 = 253
-255 .&.   254 = 254
-255 .&.   255 = 255
-255 .&.   1 = 1
-255 .&.   2 = 2
-255 .&.   3 = 3
+65535 .&.   65533 = 65533
+65535 .&.   65534 = 65534
+65535 .&.   65535 = 65535
+65535 .&.   1 = 1
+65535 .&.   2 = 2
+65535 .&.   3 = 3
  
-0 .&.   253 = 0
-0 .&.   254 = 0
-0 .&.   255 = 0
+0 .&.   65533 = 0
+0 .&.   65534 = 0
+0 .&.   65535 = 0
 0 .&.   1 = 0
 0 .&.   2 = 0
 0 .&.   3 = 0
  
-1 .&.   253 = 1
-1 .&.   254 = 0
-1 .&.   255 = 1
+1 .&.   65533 = 1
+1 .&.   65534 = 0
+1 .&.   65535 = 1
 1 .&.   1 = 1
 1 .&.   2 = 0
 1 .&.   3 = 1
  
-2 .&.   253 = 0
-2 .&.   254 = 2
-2 .&.   255 = 2
+2 .&.   65533 = 0
+2 .&.   65534 = 2
+2 .&.   65535 = 2
 2 .&.   1 = 0
 2 .&.   2 = 2
 2 .&.   3 = 2
  
-3 .&.   253 = 1
-3 .&.   254 = 2
-3 .&.   255 = 3
+3 .&.   65533 = 1
+3 .&.   65534 = 2
+3 .&.   65535 = 3
 3 .&.   1 = 1
 3 .&.   2 = 2
 3 .&.   3 = 3
  
 #
-253 .|.   253 = 253
-253 .|.   254 = 255
-253 .|.   255 = 255
-253 .|.   1 = 253
-253 .|.   2 = 255
-253 .|.   3 = 255
+65533 .|.   65533 = 65533
+65533 .|.   65534 = 65535
+65533 .|.   65535 = 65535
+65533 .|.   1 = 65533
+65533 .|.   2 = 65535
+65533 .|.   3 = 65535
  
-254 .|.   253 = 255
-254 .|.   254 = 254
-254 .|.   255 = 255
-254 .|.   1 = 255
-254 .|.   2 = 254
-254 .|.   3 = 255
+65534 .|.   65533 = 65535
+65534 .|.   65534 = 65534
+65534 .|.   65535 = 65535
+65534 .|.   1 = 65535
+65534 .|.   2 = 65534
+65534 .|.   3 = 65535
  
-255 .|.   253 = 255
-255 .|.   254 = 255
-255 .|.   255 = 255
-255 .|.   1 = 255
-255 .|.   2 = 255
-255 .|.   3 = 255
+65535 .|.   65533 = 65535
+65535 .|.   65534 = 65535
+65535 .|.   65535 = 65535
+65535 .|.   1 = 65535
+65535 .|.   2 = 65535
+65535 .|.   3 = 65535
  
-0 .|.   253 = 253
-0 .|.   254 = 254
-0 .|.   255 = 255
+0 .|.   65533 = 65533
+0 .|.   65534 = 65534
+0 .|.   65535 = 65535
 0 .|.   1 = 1
 0 .|.   2 = 2
 0 .|.   3 = 3
  
-1 .|.   253 = 253
-1 .|.   254 = 255
-1 .|.   255 = 255
+1 .|.   65533 = 65533
+1 .|.   65534 = 65535
+1 .|.   65535 = 65535
 1 .|.   1 = 1
 1 .|.   2 = 3
 1 .|.   3 = 3
  
-2 .|.   253 = 255
-2 .|.   254 = 254
-2 .|.   255 = 255
+2 .|.   65533 = 65535
+2 .|.   65534 = 65534
+2 .|.   65535 = 65535
 2 .|.   1 = 3
 2 .|.   2 = 2
 2 .|.   3 = 3
  
-3 .|.   253 = 255
-3 .|.   254 = 255
-3 .|.   255 = 255
+3 .|.   65533 = 65535
+3 .|.   65534 = 65535
+3 .|.   65535 = 65535
 3 .|.   1 = 3
 3 .|.   2 = 3
 3 .|.   3 = 3
  
 #
-253 `xor` 253 = 0
-253 `xor` 254 = 3
-253 `xor` 255 = 2
-253 `xor` 1 = 252
-253 `xor` 2 = 255
-253 `xor` 3 = 254
+65533 `xor` 65533 = 0
+65533 `xor` 65534 = 3
+65533 `xor` 65535 = 2
+65533 `xor` 1 = 65532
+65533 `xor` 2 = 65535
+65533 `xor` 3 = 65534
  
-254 `xor` 253 = 3
-254 `xor` 254 = 0
-254 `xor` 255 = 1
-254 `xor` 1 = 255
-254 `xor` 2 = 252
-254 `xor` 3 = 253
+65534 `xor` 65533 = 3
+65534 `xor` 65534 = 0
+65534 `xor` 65535 = 1
+65534 `xor` 1 = 65535
+65534 `xor` 2 = 65532
+65534 `xor` 3 = 65533
  
-255 `xor` 253 = 2
-255 `xor` 254 = 1
-255 `xor` 255 = 0
-255 `xor` 1 = 254
-255 `xor` 2 = 253
-255 `xor` 3 = 252
+65535 `xor` 65533 = 2
+65535 `xor` 65534 = 1
+65535 `xor` 65535 = 0
+65535 `xor` 1 = 65534
+65535 `xor` 2 = 65533
+65535 `xor` 3 = 65532
  
-0 `xor` 253 = 253
-0 `xor` 254 = 254
-0 `xor` 255 = 255
+0 `xor` 65533 = 65533
+0 `xor` 65534 = 65534
+0 `xor` 65535 = 65535
 0 `xor` 1 = 1
 0 `xor` 2 = 2
 0 `xor` 3 = 3
  
-1 `xor` 253 = 252
-1 `xor` 254 = 255
-1 `xor` 255 = 254
+1 `xor` 65533 = 65532
+1 `xor` 65534 = 65535
+1 `xor` 65535 = 65534
 1 `xor` 1 = 0
 1 `xor` 2 = 3
 1 `xor` 3 = 2
  
-2 `xor` 253 = 255
-2 `xor` 254 = 252
-2 `xor` 255 = 253
+2 `xor` 65533 = 65535
+2 `xor` 65534 = 65532
+2 `xor` 65535 = 65533
 2 `xor` 1 = 3
 2 `xor` 2 = 0
-2 `xor` 3 = 1
-3 `xor` 253 = 254
-3 `xor` 254 = 253
-3 `xor` 255 = 252
+2 `xor` 3 = 1
+3 `xor` 65533 = 65534
+3 `xor` 65534 = 65533
+3 `xor` 65535 = 65532
 3 `xor` 1 = 2
 3 `xor` 2 = 1
 3 `xor` 3 = 0
  
 #
-complement 253 = 2
-complement 254 = 1
-complement 255 = 0
-complement 0 = 255
-complement 1 = 254
-complement 2 = 253
-complement 3 = 252
+complement 65533 = 2
+complement 65534 = 1
+complement 65535 = 0
+complement 0 = 65535
+complement 1 = 65534
+complement 2 = 65533
+complement 3 = 65532
 #
-253 `shift` 0 = 253
-253 `shift` 1 = 250
-253 `shift` 2 = 244
-253 `shift` 3 = 232
-254 `shift` 0 = 254
-254 `shift` 1 = 252
-254 `shift` 2 = 248
-254 `shift` 3 = 240
-255 `shift` 0 = 255
-255 `shift` 1 = 254
-255 `shift` 2 = 252
-255 `shift` 3 = 248
-0 `shift` 0 = 0
-0 `shift` 1 = 0
-0 `shift` 2 = 0
-0 `shift` 3 = 0
-1 `shift` 0 = 1
-1 `shift` 1 = 2
-1 `shift` 2 = 4
-1 `shift` 3 = 8
-2 `shift` 0 = 2
-2 `shift` 1 = 4
-2 `shift` 2 = 8
-2 `shift` 3 = 16
-3 `shift` 0 = 3
-3 `shift` 1 = 6
-3 `shift` 2 = 12
-3 `shift` 3 = 24
+65533 `shiftL` 0 = 65533
+65533 `shiftL` 1 = 65530
+65533 `shiftL` 2 = 65524
+65533 `shiftL` 3 = 65512
+65533 `shiftL` 32 = 0
+65534 `shiftL` 0 = 65534
+65534 `shiftL` 1 = 65532
+65534 `shiftL` 2 = 65528
+65534 `shiftL` 3 = 65520
+65534 `shiftL` 32 = 0
+65535 `shiftL` 0 = 65535
+65535 `shiftL` 1 = 65534
+65535 `shiftL` 2 = 65532
+65535 `shiftL` 3 = 65528
+65535 `shiftL` 32 = 0
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 0
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 0
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 0
+#
+65533 `shiftR` 0 = 65533
+65533 `shiftR` 1 = 32766
+65533 `shiftR` 2 = 16383
+65533 `shiftR` 3 = 8191
+65533 `shiftR` 32 = 0
+65534 `shiftR` 0 = 65534
+65534 `shiftR` 1 = 32767
+65534 `shiftR` 2 = 16383
+65534 `shiftR` 3 = 8191
+65534 `shiftR` 32 = 0
+65535 `shiftR` 0 = 65535
+65535 `shiftR` 1 = 32767
+65535 `shiftR` 2 = 16383
+65535 `shiftR` 3 = 8191
+65535 `shiftR` 32 = 0
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
  
 #
-253 `rotate` -3 = 191
-253 `rotate` -2 = 127
-253 `rotate` -1 = 254
-253 `rotate` 0 = 253
-253 `rotate` 1 = 251
-253 `rotate` 2 = 247
-253 `rotate` 3 = 239
+65533 `rotate` -3 = 49151
+65533 `rotate` -2 = 32767
+65533 `rotate` -1 = 65534
+65533 `rotate` 0 = 65533
+65533 `rotate` 1 = 65531
+65533 `rotate` 2 = 65527
+65533 `rotate` 3 = 65519
  
-254 `rotate` -3 = 223
-254 `rotate` -2 = 191
-254 `rotate` -1 = 127
-254 `rotate` 0 = 254
-254 `rotate` 1 = 253
-254 `rotate` 2 = 251
-254 `rotate` 3 = 247
+65534 `rotate` -3 = 57343
+65534 `rotate` -2 = 49151
+65534 `rotate` -1 = 32767
+65534 `rotate` 0 = 65534
+65534 `rotate` 1 = 65533
+65534 `rotate` 2 = 65531
+65534 `rotate` 3 = 65527
  
-255 `rotate` -3 = 255
-255 `rotate` -2 = 255
-255 `rotate` -1 = 255
-255 `rotate` 0 = 255
-255 `rotate` 1 = 255
-255 `rotate` 2 = 255
-255 `rotate` 3 = 255
+65535 `rotate` -3 = 65535
+65535 `rotate` -2 = 65535
+65535 `rotate` -1 = 65535
+65535 `rotate` 0 = 65535
+65535 `rotate` 1 = 65535
+65535 `rotate` 2 = 65535
+65535 `rotate` 3 = 65535
  
 0 `rotate` -3 = 0
 0 `rotate` -2 = 0
@@ -5099,25 +7685,25 @@ complement 3 = 252
 0 `rotate` 2 = 0
 0 `rotate` 3 = 0
  
-1 `rotate` -3 = 32
-1 `rotate` -2 = 64
-1 `rotate` -1 = 128
+1 `rotate` -3 = 8192
+1 `rotate` -2 = 16384
+1 `rotate` -1 = 32768
 1 `rotate` 0 = 1
 1 `rotate` 1 = 2
 1 `rotate` 2 = 4
 1 `rotate` 3 = 8
  
-2 `rotate` -3 = 64
-2 `rotate` -2 = 128
+2 `rotate` -3 = 16384
+2 `rotate` -2 = 32768
 2 `rotate` -1 = 1
 2 `rotate` 0 = 2
 2 `rotate` 1 = 4
 2 `rotate` 2 = 8
 2 `rotate` 3 = 16
  
-3 `rotate` -3 = 96
-3 `rotate` -2 = 192
-3 `rotate` -1 = 129
+3 `rotate` -3 = 24576
+3 `rotate` -2 = 49152
+3 `rotate` -1 = 32769
 3 `rotate` 0 = 3
 3 `rotate` 1 = 6
 3 `rotate` 2 = 12
@@ -5129,290 +7715,317 @@ bit 1 = 2
 bit 2 = 4
 bit 3 = 8
 #
-253 `setBit` 0 = 253
-253 `setBit` 1 = 255
-253 `setBit` 2 = 253
-253 `setBit` 3 = 253
+65533 `setBit` 0 = 65533
+65533 `setBit` 1 = 65535
+65533 `setBit` 2 = 65533
+65533 `setBit` 3 = 65533
+65533 `setBit` 32 = 65533
  
-254 `setBit` 0 = 255
-254 `setBit` 1 = 254
-254 `setBit` 2 = 254
-254 `setBit` 3 = 254
+65534 `setBit` 0 = 65535
+65534 `setBit` 1 = 65534
+65534 `setBit` 2 = 65534
+65534 `setBit` 3 = 65534
+65534 `setBit` 32 = 65534
  
-255 `setBit` 0 = 255
-255 `setBit` 1 = 255
-255 `setBit` 2 = 255
-255 `setBit` 3 = 255
+65535 `setBit` 0 = 65535
+65535 `setBit` 1 = 65535
+65535 `setBit` 2 = 65535
+65535 `setBit` 3 = 65535
+65535 `setBit` 32 = 65535
  
 0 `setBit` 0 = 1
 0 `setBit` 1 = 2
 0 `setBit` 2 = 4
 0 `setBit` 3 = 8
+0 `setBit` 32 = 0
  
 1 `setBit` 0 = 1
 1 `setBit` 1 = 3
 1 `setBit` 2 = 5
 1 `setBit` 3 = 9
+1 `setBit` 32 = 1
  
 2 `setBit` 0 = 3
 2 `setBit` 1 = 2
 2 `setBit` 2 = 6
 2 `setBit` 3 = 10
+2 `setBit` 32 = 2
  
 3 `setBit` 0 = 3
 3 `setBit` 1 = 3
 3 `setBit` 2 = 7
 3 `setBit` 3 = 11
+3 `setBit` 32 = 3
  
 #
-253 `clearBit` 0 = 252
-253 `clearBit` 1 = 253
-253 `clearBit` 2 = 249
-253 `clearBit` 3 = 245
+65533 `clearBit` 0 = 65532
+65533 `clearBit` 1 = 65533
+65533 `clearBit` 2 = 65529
+65533 `clearBit` 3 = 65525
+65533 `clearBit` 32 = 65533
  
-254 `clearBit` 0 = 254
-254 `clearBit` 1 = 252
-254 `clearBit` 2 = 250
-254 `clearBit` 3 = 246
+65534 `clearBit` 0 = 65534
+65534 `clearBit` 1 = 65532
+65534 `clearBit` 2 = 65530
+65534 `clearBit` 3 = 65526
+65534 `clearBit` 32 = 65534
  
-255 `clearBit` 0 = 254
-255 `clearBit` 1 = 253
-255 `clearBit` 2 = 251
-255 `clearBit` 3 = 247
+65535 `clearBit` 0 = 65534
+65535 `clearBit` 1 = 65533
+65535 `clearBit` 2 = 65531
+65535 `clearBit` 3 = 65527
+65535 `clearBit` 32 = 65535
  
 0 `clearBit` 0 = 0
 0 `clearBit` 1 = 0
 0 `clearBit` 2 = 0
 0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
  
 1 `clearBit` 0 = 0
 1 `clearBit` 1 = 1
 1 `clearBit` 2 = 1
 1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
  
 2 `clearBit` 0 = 2
 2 `clearBit` 1 = 0
 2 `clearBit` 2 = 2
 2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
  
 3 `clearBit` 0 = 2
 3 `clearBit` 1 = 1
 3 `clearBit` 2 = 3
 3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
  
 #
-253 `complementBit` 0 = 252
-253 `complementBit` 1 = 255
-253 `complementBit` 2 = 249
-253 `complementBit` 3 = 245
+65533 `complementBit` 0 = 65532
+65533 `complementBit` 1 = 65535
+65533 `complementBit` 2 = 65529
+65533 `complementBit` 3 = 65525
+65533 `complementBit` 32 = 65533
  
-254 `complementBit` 0 = 255
-254 `complementBit` 1 = 252
-254 `complementBit` 2 = 250
-254 `complementBit` 3 = 246
+65534 `complementBit` 0 = 65535
+65534 `complementBit` 1 = 65532
+65534 `complementBit` 2 = 65530
+65534 `complementBit` 3 = 65526
+65534 `complementBit` 32 = 65534
  
-255 `complementBit` 0 = 254
-255 `complementBit` 1 = 253
-255 `complementBit` 2 = 251
-255 `complementBit` 3 = 247
+65535 `complementBit` 0 = 65534
+65535 `complementBit` 1 = 65533
+65535 `complementBit` 2 = 65531
+65535 `complementBit` 3 = 65527
+65535 `complementBit` 32 = 65535
  
 0 `complementBit` 0 = 1
 0 `complementBit` 1 = 2
 0 `complementBit` 2 = 4
 0 `complementBit` 3 = 8
+0 `complementBit` 32 = 0
  
 1 `complementBit` 0 = 0
 1 `complementBit` 1 = 3
 1 `complementBit` 2 = 5
 1 `complementBit` 3 = 9
+1 `complementBit` 32 = 1
  
 2 `complementBit` 0 = 3
 2 `complementBit` 1 = 0
 2 `complementBit` 2 = 6
 2 `complementBit` 3 = 10
+2 `complementBit` 32 = 2
  
 3 `complementBit` 0 = 2
 3 `complementBit` 1 = 1
 3 `complementBit` 2 = 7
 3 `complementBit` 3 = 11
+3 `complementBit` 32 = 3
  
 #
-253 `testBit` 0 = True
-253 `testBit` 1 = False
-253 `testBit` 2 = True
-253 `testBit` 3 = True
+65533 `testBit` 0 = True
+65533 `testBit` 1 = False
+65533 `testBit` 2 = True
+65533 `testBit` 3 = True
+65533 `testBit` 32 = False
  
-254 `testBit` 0 = False
-254 `testBit` 1 = True
-254 `testBit` 2 = True
-254 `testBit` 3 = True
+65534 `testBit` 0 = False
+65534 `testBit` 1 = True
+65534 `testBit` 2 = True
+65534 `testBit` 3 = True
+65534 `testBit` 32 = False
  
-255 `testBit` 0 = True
-255 `testBit` 1 = True
-255 `testBit` 2 = True
-255 `testBit` 3 = True
+65535 `testBit` 0 = True
+65535 `testBit` 1 = True
+65535 `testBit` 2 = True
+65535 `testBit` 3 = True
+65535 `testBit` 32 = False
  
 0 `testBit` 0 = False
 0 `testBit` 1 = False
 0 `testBit` 2 = False
 0 `testBit` 3 = False
+0 `testBit` 32 = False
  
 1 `testBit` 0 = True
 1 `testBit` 1 = False
 1 `testBit` 2 = False
 1 `testBit` 3 = False
+1 `testBit` 32 = False
  
 2 `testBit` 0 = False
 2 `testBit` 1 = True
 2 `testBit` 2 = False
 2 `testBit` 3 = False
+2 `testBit` 32 = False
  
 3 `testBit` 0 = True
 3 `testBit` 1 = True
 3 `testBit` 2 = False
 3 `testBit` 3 = False
+3 `testBit` 32 = False
  
 #
-bitSize 253 = 8
-bitSize 254 = 8
-bitSize 255 = 8
-bitSize 0 = 8
-bitSize 1 = 8
-bitSize 2 = 8
-bitSize 3 = 8
+bitSize 65533 = 16
+bitSize 65534 = 16
+bitSize 65535 = 16
+bitSize 0 = 16
+bitSize 1 = 16
+bitSize 2 = 16
+bitSize 3 = 16
 #
-isSigned 253 = False
-isSigned 254 = False
-isSigned 255 = False
+isSigned 65533 = False
+isSigned 65534 = False
+isSigned 65535 = False
 isSigned 0 = False
 isSigned 1 = False
 isSigned 2 = False
 isSigned 3 = False
 #
 --------------------------------
---------------------------------
---Testing Word16
+--Testing Word32
 --------------------------------
 testBounded
-(65535, 0, 1)
-(65534, 65535, 0)
+(4294967295,0,1)
+(4294967294,4294967295,0)
 testEnum
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
 testReadShow
-[65533, 65534, 65535, 0, 1, 2, 3]
-[65533, 65534, 65535, 0, 1, 2, 3]
+[4294967293,4294967294,4294967295,0,1,2,3]
+[4294967293,4294967294,4294967295,0,1,2,3]
 testEq
-65533 == 65533 = True
-65533 == 65534 = False
-65533 == 65535 = False
-65533 == 0 = False
-65533 == 1 = False
-65533 == 2 = False
-65533 == 3 = False
+4294967293 == 4294967293 = True
+4294967293 == 4294967294 = False
+4294967293 == 4294967295 = False
+4294967293 == 0 = False
+4294967293 == 1 = False
+4294967293 == 2 = False
+4294967293 == 3 = False
  
-65534 == 65533 = False
-65534 == 65534 = True
-65534 == 65535 = False
-65534 == 0 = False
-65534 == 1 = False
-65534 == 2 = False
-65534 == 3 = False
+4294967294 == 4294967293 = False
+4294967294 == 4294967294 = True
+4294967294 == 4294967295 = False
+4294967294 == 0 = False
+4294967294 == 1 = False
+4294967294 == 2 = False
+4294967294 == 3 = False
  
-65535 == 65533 = False
-65535 == 65534 = False
-65535 == 65535 = True
-65535 == 0 = False
-65535 == 1 = False
-65535 == 2 = False
-65535 == 3 = False
+4294967295 == 4294967293 = False
+4294967295 == 4294967294 = False
+4294967295 == 4294967295 = True
+4294967295 == 0 = False
+4294967295 == 1 = False
+4294967295 == 2 = False
+4294967295 == 3 = False
  
-0 == 65533 = False
-0 == 65534 = False
-0 == 65535 = False
+0 == 4294967293 = False
+0 == 4294967294 = False
+0 == 4294967295 = False
 0 == 0 = True
 0 == 1 = False
 0 == 2 = False
 0 == 3 = False
  
-1 == 65533 = False
-1 == 65534 = False
-1 == 65535 = False
+1 == 4294967293 = False
+1 == 4294967294 = False
+1 == 4294967295 = False
 1 == 0 = False
 1 == 1 = True
 1 == 2 = False
 1 == 3 = False
  
-2 == 65533 = False
-2 == 65534 = False
-2 == 65535 = False
+2 == 4294967293 = False
+2 == 4294967294 = False
+2 == 4294967295 = False
 2 == 0 = False
 2 == 1 = False
 2 == 2 = True
 2 == 3 = False
  
-3 == 65533 = False
-3 == 65534 = False
-3 == 65535 = False
+3 == 4294967293 = False
+3 == 4294967294 = False
+3 == 4294967295 = False
 3 == 0 = False
 3 == 1 = False
 3 == 2 = False
 3 == 3 = True
  
 #
-65533 /= 65533 = False
-65533 /= 65534 = True
-65533 /= 65535 = True
-65533 /= 0 = True
-65533 /= 1 = True
-65533 /= 2 = True
-65533 /= 3 = True
+4294967293 /= 4294967293 = False
+4294967293 /= 4294967294 = True
+4294967293 /= 4294967295 = True
+4294967293 /= 0 = True
+4294967293 /= 1 = True
+4294967293 /= 2 = True
+4294967293 /= 3 = True
  
-65534 /= 65533 = True
-65534 /= 65534 = False
-65534 /= 65535 = True
-65534 /= 0 = True
-65534 /= 1 = True
-65534 /= 2 = True
-65534 /= 3 = True
+4294967294 /= 4294967293 = True
+4294967294 /= 4294967294 = False
+4294967294 /= 4294967295 = True
+4294967294 /= 0 = True
+4294967294 /= 1 = True
+4294967294 /= 2 = True
+4294967294 /= 3 = True
  
-65535 /= 65533 = True
-65535 /= 65534 = True
-65535 /= 65535 = False
-65535 /= 0 = True
-65535 /= 1 = True
-65535 /= 2 = True
-65535 /= 3 = True
+4294967295 /= 4294967293 = True
+4294967295 /= 4294967294 = True
+4294967295 /= 4294967295 = False
+4294967295 /= 0 = True
+4294967295 /= 1 = True
+4294967295 /= 2 = True
+4294967295 /= 3 = True
  
-0 /= 65533 = True
-0 /= 65534 = True
-0 /= 65535 = True
+0 /= 4294967293 = True
+0 /= 4294967294 = True
+0 /= 4294967295 = True
 0 /= 0 = False
 0 /= 1 = True
 0 /= 2 = True
 0 /= 3 = True
  
-1 /= 65533 = True
-1 /= 65534 = True
-1 /= 65535 = True
+1 /= 4294967293 = True
+1 /= 4294967294 = True
+1 /= 4294967295 = True
 1 /= 0 = True
 1 /= 1 = False
 1 /= 2 = True
 1 /= 3 = True
  
-2 /= 65533 = True
-2 /= 65534 = True
-2 /= 65535 = True
+2 /= 4294967293 = True
+2 /= 4294967294 = True
+2 /= 4294967295 = True
 2 /= 0 = True
 2 /= 1 = True
 2 /= 2 = False
 2 /= 3 = True
  
-3 /= 65533 = True
-3 /= 65534 = True
-3 /= 65535 = True
+3 /= 4294967293 = True
+3 /= 4294967294 = True
+3 /= 4294967295 = True
 3 /= 0 = True
 3 /= 1 = True
 3 /= 2 = True
@@ -5420,285 +8033,285 @@ testEq
  
 #
 testOrd
-65533 <= 65533 = True
-65533 <= 65534 = True
-65533 <= 65535 = True
-65533 <= 0 = False
-65533 <= 1 = False
-65533 <= 2 = False
-65533 <= 3 = False
+4294967293 <= 4294967293 = True
+4294967293 <= 4294967294 = True
+4294967293 <= 4294967295 = True
+4294967293 <= 0 = False
+4294967293 <= 1 = False
+4294967293 <= 2 = False
+4294967293 <= 3 = False
  
-65534 <= 65533 = False
-65534 <= 65534 = True
-65534 <= 65535 = True
-65534 <= 0 = False
-65534 <= 1 = False
-65534 <= 2 = False
-65534 <= 3 = False
+4294967294 <= 4294967293 = False
+4294967294 <= 4294967294 = True
+4294967294 <= 4294967295 = True
+4294967294 <= 0 = False
+4294967294 <= 1 = False
+4294967294 <= 2 = False
+4294967294 <= 3 = False
  
-65535 <= 65533 = False
-65535 <= 65534 = False
-65535 <= 65535 = True
-65535 <= 0 = False
-65535 <= 1 = False
-65535 <= 2 = False
-65535 <= 3 = False
+4294967295 <= 4294967293 = False
+4294967295 <= 4294967294 = False
+4294967295 <= 4294967295 = True
+4294967295 <= 0 = False
+4294967295 <= 1 = False
+4294967295 <= 2 = False
+4294967295 <= 3 = False
  
-0 <= 65533 = True
-0 <= 65534 = True
-0 <= 65535 = True
+0 <= 4294967293 = True
+0 <= 4294967294 = True
+0 <= 4294967295 = True
 0 <= 0 = True
 0 <= 1 = True
 0 <= 2 = True
 0 <= 3 = True
  
-1 <= 65533 = True
-1 <= 65534 = True
-1 <= 65535 = True
+1 <= 4294967293 = True
+1 <= 4294967294 = True
+1 <= 4294967295 = True
 1 <= 0 = False
 1 <= 1 = True
 1 <= 2 = True
 1 <= 3 = True
  
-2 <= 65533 = True
-2 <= 65534 = True
-2 <= 65535 = True
+2 <= 4294967293 = True
+2 <= 4294967294 = True
+2 <= 4294967295 = True
 2 <= 0 = False
 2 <= 1 = False
 2 <= 2 = True
 2 <= 3 = True
  
-3 <= 65533 = True
-3 <= 65534 = True
-3 <= 65535 = True
+3 <= 4294967293 = True
+3 <= 4294967294 = True
+3 <= 4294967295 = True
 3 <= 0 = False
 3 <= 1 = False
 3 <= 2 = False
 3 <= 3 = True
  
 #
-65533 <  65533 = False
-65533 <  65534 = True
-65533 <  65535 = True
-65533 <  0 = False
-65533 <  1 = False
-65533 <  2 = False
-65533 <  3 = False
+4294967293 <  4294967293 = False
+4294967293 <  4294967294 = True
+4294967293 <  4294967295 = True
+4294967293 <  0 = False
+4294967293 <  1 = False
+4294967293 <  2 = False
+4294967293 <  3 = False
  
-65534 <  65533 = False
-65534 <  65534 = False
-65534 <  65535 = True
-65534 <  0 = False
-65534 <  1 = False
-65534 <  2 = False
-65534 <  3 = False
+4294967294 <  4294967293 = False
+4294967294 <  4294967294 = False
+4294967294 <  4294967295 = True
+4294967294 <  0 = False
+4294967294 <  1 = False
+4294967294 <  2 = False
+4294967294 <  3 = False
  
-65535 <  65533 = False
-65535 <  65534 = False
-65535 <  65535 = False
-65535 <  0 = False
-65535 <  1 = False
-65535 <  2 = False
-65535 <  3 = False
+4294967295 <  4294967293 = False
+4294967295 <  4294967294 = False
+4294967295 <  4294967295 = False
+4294967295 <  0 = False
+4294967295 <  1 = False
+4294967295 <  2 = False
+4294967295 <  3 = False
  
-0 <  65533 = True
-0 <  65534 = True
-0 <  65535 = True
+0 <  4294967293 = True
+0 <  4294967294 = True
+0 <  4294967295 = True
 0 <  0 = False
 0 <  1 = True
 0 <  2 = True
 0 <  3 = True
  
-1 <  65533 = True
-1 <  65534 = True
-1 <  65535 = True
+1 <  4294967293 = True
+1 <  4294967294 = True
+1 <  4294967295 = True
 1 <  0 = False
 1 <  1 = False
 1 <  2 = True
 1 <  3 = True
  
-2 <  65533 = True
-2 <  65534 = True
-2 <  65535 = True
+2 <  4294967293 = True
+2 <  4294967294 = True
+2 <  4294967295 = True
 2 <  0 = False
 2 <  1 = False
 2 <  2 = False
 2 <  3 = True
  
-3 <  65533 = True
-3 <  65534 = True
-3 <  65535 = True
+3 <  4294967293 = True
+3 <  4294967294 = True
+3 <  4294967295 = True
 3 <  0 = False
 3 <  1 = False
 3 <  2 = False
 3 <  3 = False
  
 #
-65533 >  65533 = False
-65533 >  65534 = False
-65533 >  65535 = False
-65533 >  0 = True
-65533 >  1 = True
-65533 >  2 = True
-65533 >  3 = True
-65534 >  65533 = True
-65534 >  65534 = False
-65534 >  65535 = False
-65534 >  0 = True
-65534 >  1 = True
-65534 >  2 = True
-65534 >  3 = True
+4294967293 >  4294967293 = False
+4294967293 >  4294967294 = False
+4294967293 >  4294967295 = False
+4294967293 >  0 = True
+4294967293 >  1 = True
+4294967293 >  2 = True
+4294967293 >  3 = True
  
-65535 >  65533 = True
-65535 >  65534 = True
-65535 >  65535 = False
-65535 >  0 = True
-65535 >  1 = True
-65535 >  2 = True
-65535 >  3 = True
+4294967294 >  4294967293 = True
+4294967294 >  4294967294 = False
+4294967294 >  4294967295 = False
+4294967294 >  0 = True
+4294967294 >  1 = True
+4294967294 >  2 = True
+4294967294 >  3 = True
  
-0 >  65533 = False
-0 >  65534 = False
-0 >  65535 = False
+4294967295 >  4294967293 = True
+4294967295 >  4294967294 = True
+4294967295 >  4294967295 = False
+4294967295 >  0 = True
+4294967295 >  1 = True
+4294967295 >  2 = True
+4294967295 >  3 = True
+0 >  4294967293 = False
+0 >  4294967294 = False
+0 >  4294967295 = False
 0 >  0 = False
 0 >  1 = False
 0 >  2 = False
 0 >  3 = False
  
-1 >  65533 = False
-1 >  65534 = False
-1 >  65535 = False
+1 >  4294967293 = False
+1 >  4294967294 = False
+1 >  4294967295 = False
 1 >  0 = True
 1 >  1 = False
 1 >  2 = False
 1 >  3 = False
  
-2 >  65533 = False
-2 >  65534 = False
-2 >  65535 = False
+2 >  4294967293 = False
+2 >  4294967294 = False
+2 >  4294967295 = False
 2 >  0 = True
 2 >  1 = True
 2 >  2 = False
 2 >  3 = False
  
-3 >  65533 = False
-3 >  65534 = False
-3 >  65535 = False
+3 >  4294967293 = False
+3 >  4294967294 = False
+3 >  4294967295 = False
 3 >  0 = True
 3 >  1 = True
 3 >  2 = True
 3 >  3 = False
  
 #
-65533 >= 65533 = True
-65533 >= 65534 = False
-65533 >= 65535 = False
-65533 >= 0 = True
-65533 >= 1 = True
-65533 >= 2 = True
-65533 >= 3 = True
+4294967293 >= 4294967293 = True
+4294967293 >= 4294967294 = False
+4294967293 >= 4294967295 = False
+4294967293 >= 0 = True
+4294967293 >= 1 = True
+4294967293 >= 2 = True
+4294967293 >= 3 = True
  
-65534 >= 65533 = True
-65534 >= 65534 = True
-65534 >= 65535 = False
-65534 >= 0 = True
-65534 >= 1 = True
-65534 >= 2 = True
-65534 >= 3 = True
+4294967294 >= 4294967293 = True
+4294967294 >= 4294967294 = True
+4294967294 >= 4294967295 = False
+4294967294 >= 0 = True
+4294967294 >= 1 = True
+4294967294 >= 2 = True
+4294967294 >= 3 = True
  
-65535 >= 65533 = True
-65535 >= 65534 = True
-65535 >= 65535 = True
-65535 >= 0 = True
-65535 >= 1 = True
-65535 >= 2 = True
-65535 >= 3 = True
+4294967295 >= 4294967293 = True
+4294967295 >= 4294967294 = True
+4294967295 >= 4294967295 = True
+4294967295 >= 0 = True
+4294967295 >= 1 = True
+4294967295 >= 2 = True
+4294967295 >= 3 = True
  
-0 >= 65533 = False
-0 >= 65534 = False
-0 >= 65535 = False
+0 >= 4294967293 = False
+0 >= 4294967294 = False
+0 >= 4294967295 = False
 0 >= 0 = True
 0 >= 1 = False
 0 >= 2 = False
 0 >= 3 = False
  
-1 >= 65533 = False
-1 >= 65534 = False
-1 >= 65535 = False
+1 >= 4294967293 = False
+1 >= 4294967294 = False
+1 >= 4294967295 = False
 1 >= 0 = True
 1 >= 1 = True
 1 >= 2 = False
 1 >= 3 = False
  
-2 >= 65533 = False
-2 >= 65534 = False
-2 >= 65535 = False
+2 >= 4294967293 = False
+2 >= 4294967294 = False
+2 >= 4294967295 = False
 2 >= 0 = True
 2 >= 1 = True
 2 >= 2 = True
 2 >= 3 = False
  
-3 >= 65533 = False
-3 >= 65534 = False
-3 >= 65535 = False
+3 >= 4294967293 = False
+3 >= 4294967294 = False
+3 >= 4294967295 = False
 3 >= 0 = True
 3 >= 1 = True
 3 >= 2 = True
 3 >= 3 = True
  
 #
-65533 `compare` 65533 = EQ
-65533 `compare` 65534 = LT
-65533 `compare` 65535 = LT
-65533 `compare` 0 = GT
-65533 `compare` 1 = GT
-65533 `compare` 2 = GT
-65533 `compare` 3 = GT
+4294967293 `compare` 4294967293 = EQ
+4294967293 `compare` 4294967294 = LT
+4294967293 `compare` 4294967295 = LT
+4294967293 `compare` 0 = GT
+4294967293 `compare` 1 = GT
+4294967293 `compare` 2 = GT
+4294967293 `compare` 3 = GT
  
-65534 `compare` 65533 = GT
-65534 `compare` 65534 = EQ
-65534 `compare` 65535 = LT
-65534 `compare` 0 = GT
-65534 `compare` 1 = GT
-65534 `compare` 2 = GT
-65534 `compare` 3 = GT
+4294967294 `compare` 4294967293 = GT
+4294967294 `compare` 4294967294 = EQ
+4294967294 `compare` 4294967295 = LT
+4294967294 `compare` 0 = GT
+4294967294 `compare` 1 = GT
+4294967294 `compare` 2 = GT
+4294967294 `compare` 3 = GT
  
-65535 `compare` 65533 = GT
-65535 `compare` 65534 = GT
-65535 `compare` 65535 = EQ
-65535 `compare` 0 = GT
-65535 `compare` 1 = GT
-65535 `compare` 2 = GT
-65535 `compare` 3 = GT
+4294967295 `compare` 4294967293 = GT
+4294967295 `compare` 4294967294 = GT
+4294967295 `compare` 4294967295 = EQ
+4294967295 `compare` 0 = GT
+4294967295 `compare` 1 = GT
+4294967295 `compare` 2 = GT
+4294967295 `compare` 3 = GT
  
-0 `compare` 65533 = LT
-0 `compare` 65534 = LT
-0 `compare` 65535 = LT
+0 `compare` 4294967293 = LT
+0 `compare` 4294967294 = LT
+0 `compare` 4294967295 = LT
 0 `compare` 0 = EQ
 0 `compare` 1 = LT
 0 `compare` 2 = LT
 0 `compare` 3 = LT
  
-1 `compare` 65533 = LT
-1 `compare` 65534 = LT
-1 `compare` 65535 = LT
+1 `compare` 4294967293 = LT
+1 `compare` 4294967294 = LT
+1 `compare` 4294967295 = LT
 1 `compare` 0 = GT
 1 `compare` 1 = EQ
 1 `compare` 2 = LT
 1 `compare` 3 = LT
  
-2 `compare` 65533 = LT
-2 `compare` 65534 = LT
-2 `compare` 65535 = LT
+2 `compare` 4294967293 = LT
+2 `compare` 4294967294 = LT
+2 `compare` 4294967295 = LT
 2 `compare` 0 = GT
 2 `compare` 1 = GT
 2 `compare` 2 = EQ
 2 `compare` 3 = LT
  
-3 `compare` 65533 = LT
-3 `compare` 65534 = LT
-3 `compare` 65535 = LT
+3 `compare` 4294967293 = LT
+3 `compare` 4294967294 = LT
+3 `compare` 4294967295 = LT
 3 `compare` 0 = GT
 3 `compare` 1 = GT
 3 `compare` 2 = GT
@@ -5706,713 +8319,763 @@ testOrd
  
 #
 testNum
-65533 + 65533 = 65530
-65533 + 65534 = 65531
-65533 + 65535 = 65532
-65533 + 0 = 65533
-65533 + 1 = 65534
-65533 + 2 = 65535
-65533 + 3 = 0
+4294967293 + 4294967293 = 4294967290
+4294967293 + 4294967294 = 4294967291
+4294967293 + 4294967295 = 4294967292
+4294967293 + 0 = 4294967293
+4294967293 + 1 = 4294967294
+4294967293 + 2 = 4294967295
+4294967293 + 3 = 0
  
-65534 + 65533 = 65531
-65534 + 65534 = 65532
-65534 + 65535 = 65533
-65534 + 0 = 65534
-65534 + 1 = 65535
-65534 + 2 = 0
-65534 + 3 = 1
+4294967294 + 4294967293 = 4294967291
+4294967294 + 4294967294 = 4294967292
+4294967294 + 4294967295 = 4294967293
+4294967294 + 0 = 4294967294
+4294967294 + 1 = 4294967295
+4294967294 + 2 = 0
+4294967294 + 3 = 1
  
-65535 + 65533 = 65532
-65535 + 65534 = 65533
-65535 + 65535 = 65534
-65535 + 0 = 65535
-65535 + 1 = 0
-65535 + 2 = 1
-65535 + 3 = 2
+4294967295 + 4294967293 = 4294967292
+4294967295 + 4294967294 = 4294967293
+4294967295 + 4294967295 = 4294967294
+4294967295 + 0 = 4294967295
+4294967295 + 1 = 0
+4294967295 + 2 = 1
+4294967295 + 3 = 2
  
-0 + 65533 = 65533
-0 + 65534 = 65534
-0 + 65535 = 65535
+0 + 4294967293 = 4294967293
+0 + 4294967294 = 4294967294
+0 + 4294967295 = 4294967295
 0 + 0 = 0
 0 + 1 = 1
 0 + 2 = 2
 0 + 3 = 3
  
-1 + 65533 = 65534
-1 + 65534 = 65535
-1 + 65535 = 0
+1 + 4294967293 = 4294967294
+1 + 4294967294 = 4294967295
+1 + 4294967295 = 0
 1 + 0 = 1
 1 + 1 = 2
 1 + 2 = 3
 1 + 3 = 4
  
-2 + 65533 = 65535
-2 + 65534 = 0
-2 + 65535 = 1
+2 + 4294967293 = 4294967295
+2 + 4294967294 = 0
+2 + 4294967295 = 1
 2 + 0 = 2
 2 + 1 = 3
 2 + 2 = 4
 2 + 3 = 5
  
-3 + 65533 = 0
-3 + 65534 = 1
-3 + 65535 = 2
+3 + 4294967293 = 0
+3 + 4294967294 = 1
+3 + 4294967295 = 2
 3 + 0 = 3
 3 + 1 = 4
 3 + 2 = 5
 3 + 3 = 6
  
 #
-65533 - 65533 = 0
-65533 - 65534 = 65535
-65533 - 65535 = 65534
-65533 - 0 = 65533
-65533 - 1 = 65532
-65533 - 2 = 65531
-65533 - 3 = 65530
-65534 - 65533 = 1
-65534 - 65534 = 0
-65534 - 65535 = 65535
-65534 - 0 = 65534
-65534 - 1 = 65533
-65534 - 2 = 65532
-65534 - 3 = 65531
+4294967293 - 4294967293 = 0
+4294967293 - 4294967294 = 4294967295
+4294967293 - 4294967295 = 4294967294
+4294967293 - 0 = 4294967293
+4294967293 - 1 = 4294967292
+4294967293 - 2 = 4294967291
+4294967293 - 3 = 4294967290
  
-65535 - 65533 = 2
-65535 - 65534 = 1
-65535 - 65535 = 0
-65535 - 0 = 65535
-65535 - 1 = 65534
-65535 - 2 = 65533
-65535 - 3 = 65532
+4294967294 - 4294967293 = 1
+4294967294 - 4294967294 = 0
+4294967294 - 4294967295 = 4294967295
+4294967294 - 0 = 4294967294
+4294967294 - 1 = 4294967293
+4294967294 - 2 = 4294967292
+4294967294 - 3 = 4294967291
  
-0 - 65533 = 3
-0 - 65534 = 2
-0 - 65535 = 1
+4294967295 - 4294967293 = 2
+4294967295 - 4294967294 = 1
+4294967295 - 4294967295 = 0
+4294967295 - 0 = 4294967295
+4294967295 - 1 = 4294967294
+4294967295 - 2 = 4294967293
+4294967295 - 3 = 4294967292
+0 - 4294967293 = 3
+0 - 4294967294 = 2
+0 - 4294967295 = 1
 0 - 0 = 0
-0 - 1 = 65535
-0 - 2 = 65534
-0 - 3 = 65533
+0 - 1 = 4294967295
+0 - 2 = 4294967294
+0 - 3 = 4294967293
  
-1 - 65533 = 4
-1 - 65534 = 3
-1 - 65535 = 2
+1 - 4294967293 = 4
+1 - 4294967294 = 3
+1 - 4294967295 = 2
 1 - 0 = 1
 1 - 1 = 0
-1 - 2 = 65535
-1 - 3 = 65534
+1 - 2 = 4294967295
+1 - 3 = 4294967294
  
-2 - 65533 = 5
-2 - 65534 = 4
-2 - 65535 = 3
+2 - 4294967293 = 5
+2 - 4294967294 = 4
+2 - 4294967295 = 3
 2 - 0 = 2
 2 - 1 = 1
 2 - 2 = 0
-2 - 3 = 65535
+2 - 3 = 4294967295
  
-3 - 65533 = 6
-3 - 65534 = 5
-3 - 65535 = 4
+3 - 4294967293 = 6
+3 - 4294967294 = 5
+3 - 4294967295 = 4
 3 - 0 = 3
 3 - 1 = 2
 3 - 2 = 1
 3 - 3 = 0
  
 #
-65533 * 65533 = 9
-65533 * 65534 = 6
-65533 * 65535 = 3
-65533 * 0 = 0
-65533 * 1 = 65533
-65533 * 2 = 65530
-65533 * 3 = 65527
+4294967293 * 4294967293 = 9
+4294967293 * 4294967294 = 6
+4294967293 * 4294967295 = 3
+4294967293 * 0 = 0
+4294967293 * 1 = 4294967293
+4294967293 * 2 = 4294967290
+4294967293 * 3 = 4294967287
  
-65534 * 65533 = 6
-65534 * 65534 = 4
-65534 * 65535 = 2
-65534 * 0 = 0
-65534 * 1 = 65534
-65534 * 2 = 65532
-65534 * 3 = 65530
+4294967294 * 4294967293 = 6
+4294967294 * 4294967294 = 4
+4294967294 * 4294967295 = 2
+4294967294 * 0 = 0
+4294967294 * 1 = 4294967294
+4294967294 * 2 = 4294967292
+4294967294 * 3 = 4294967290
  
-65535 * 65533 = 3
-65535 * 65534 = 2
-65535 * 65535 = 1
-65535 * 0 = 0
-65535 * 1 = 65535
-65535 * 2 = 65534
-65535 * 3 = 65533
+4294967295 * 4294967293 = 3
+4294967295 * 4294967294 = 2
+4294967295 * 4294967295 = 1
+4294967295 * 0 = 0
+4294967295 * 1 = 4294967295
+4294967295 * 2 = 4294967294
+4294967295 * 3 = 4294967293
  
-0 * 65533 = 0
-0 * 65534 = 0
-0 * 65535 = 0
+0 * 4294967293 = 0
+0 * 4294967294 = 0
+0 * 4294967295 = 0
 0 * 0 = 0
 0 * 1 = 0
 0 * 2 = 0
 0 * 3 = 0
  
-1 * 65533 = 65533
-1 * 65534 = 65534
-1 * 65535 = 65535
+1 * 4294967293 = 4294967293
+1 * 4294967294 = 4294967294
+1 * 4294967295 = 4294967295
 1 * 0 = 0
 1 * 1 = 1
 1 * 2 = 2
 1 * 3 = 3
  
-2 * 65533 = 65530
-2 * 65534 = 65532
-2 * 65535 = 65534
+2 * 4294967293 = 4294967290
+2 * 4294967294 = 4294967292
+2 * 4294967295 = 4294967294
 2 * 0 = 0
 2 * 1 = 2
 2 * 2 = 4
 2 * 3 = 6
  
-3 * 65533 = 65527
-3 * 65534 = 65530
-3 * 65535 = 65533
+3 * 4294967293 = 4294967287
+3 * 4294967294 = 4294967290
+3 * 4294967295 = 4294967293
 3 * 0 = 0
 3 * 1 = 3
 3 * 2 = 6
 3 * 3 = 9
  
 #
-negate 65533 = 3
-negate 65534 = 2
-negate 65535 = 1
+negate 4294967293 = 3
+negate 4294967294 = 2
+negate 4294967295 = 1
 negate 0 = 0
-negate 1 = 65535
-negate 2 = 65534
-negate 3 = 65533
+negate 1 = 4294967295
+negate 2 = 4294967294
+negate 3 = 4294967293
 #
 testReal
-toRational 65533 = 65533 % 1
-toRational 65534 = 65534 % 1
-toRational 65535 = 65535 % 1
+toRational 4294967293 = 4294967293 % 1
+toRational 4294967294 = 4294967294 % 1
+toRational 4294967295 = 4294967295 % 1
 toRational 0 = 0 % 1
 toRational 1 = 1 % 1
 toRational 2 = 2 % 1
 toRational 3 = 3 % 1
 #
 testIntegral
-65533 `divMod`  65533 = (1, 0)
-65533 `divMod`  65534 = (0, 65533)
-65533 `divMod`  65535 = (0, 65533)
-65533 `divMod`  1 = (65533, 0)
-65533 `divMod`  2 = (32766, 1)
-65533 `divMod`  3 = (21844, 1)
-65534 `divMod`  65533 = (1, 1)
-65534 `divMod`  65534 = (1, 0)
-65534 `divMod`  65535 = (0, 65534)
-65534 `divMod`  1 = (65534, 0)
-65534 `divMod`  2 = (32767, 0)
-65534 `divMod`  3 = (21844, 2)
-65535 `divMod`  65533 = (1, 2)
-65535 `divMod`  65534 = (1, 1)
-65535 `divMod`  65535 = (1, 0)
-65535 `divMod`  1 = (65535, 0)
-65535 `divMod`  2 = (32767, 1)
-65535 `divMod`  3 = (21845, 0)
-0 `divMod`  65533 = (0, 0)
-0 `divMod`  65534 = (0, 0)
-0 `divMod`  65535 = (0, 0)
-0 `divMod`  1 = (0, 0)
-0 `divMod`  2 = (0, 0)
-0 `divMod`  3 = (0, 0)
-1 `divMod`  65533 = (0, 1)
-1 `divMod`  65534 = (0, 1)
-1 `divMod`  65535 = (0, 1)
-1 `divMod`  1 = (1, 0)
-1 `divMod`  2 = (0, 1)
-1 `divMod`  3 = (0, 1)
-2 `divMod`  65533 = (0, 2)
-2 `divMod`  65534 = (0, 2)
-2 `divMod`  65535 = (0, 2)
-2 `divMod`  1 = (2, 0)
-2 `divMod`  2 = (1, 0)
-2 `divMod`  3 = (0, 2)
-3 `divMod`  65533 = (0, 3)
-3 `divMod`  65534 = (0, 3)
-3 `divMod`  65535 = (0, 3)
-3 `divMod`  1 = (3, 0)
-3 `divMod`  2 = (1, 1)
-3 `divMod`  3 = (1, 0)
+4294967293 `divMod`  4294967293 = (1,0)
+4294967293 `divMod`  4294967294 = (0,4294967293)
+4294967293 `divMod`  4294967295 = (0,4294967293)
+4294967293 `divMod`  1 = (4294967293,0)
+4294967293 `divMod`  2 = (2147483646,1)
+4294967293 `divMod`  3 = (1431655764,1)
+4294967294 `divMod`  4294967293 = (1,1)
+4294967294 `divMod`  4294967294 = (1,0)
+4294967294 `divMod`  4294967295 = (0,4294967294)
+4294967294 `divMod`  1 = (4294967294,0)
+4294967294 `divMod`  2 = (2147483647,0)
+4294967294 `divMod`  3 = (1431655764,2)
+4294967295 `divMod`  4294967293 = (1,2)
+4294967295 `divMod`  4294967294 = (1,1)
+4294967295 `divMod`  4294967295 = (1,0)
+4294967295 `divMod`  1 = (4294967295,0)
+4294967295 `divMod`  2 = (2147483647,1)
+4294967295 `divMod`  3 = (1431655765,0)
+0 `divMod`  4294967293 = (0,0)
+0 `divMod`  4294967294 = (0,0)
+0 `divMod`  4294967295 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  4294967293 = (0,1)
+1 `divMod`  4294967294 = (0,1)
+1 `divMod`  4294967295 = (0,1)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  4294967293 = (0,2)
+2 `divMod`  4294967294 = (0,2)
+2 `divMod`  4294967295 = (0,2)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  4294967293 = (0,3)
+3 `divMod`  4294967294 = (0,3)
+3 `divMod`  4294967295 = (0,3)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
  
 #
-65533 `div`     65533 = 1
-65533 `div`     65534 = 0
-65533 `div`     65535 = 0
-65533 `div`     1 = 65533
-65533 `div`     2 = 32766
-65533 `div`     3 = 21844
+4294967293 `div`     4294967293 = 1
+4294967293 `div`     4294967294 = 0
+4294967293 `div`     4294967295 = 0
+4294967293 `div`     1 = 4294967293
+4294967293 `div`     2 = 2147483646
+4294967293 `div`     3 = 1431655764
  
-65534 `div`     65533 = 1
-65534 `div`     65534 = 1
-65534 `div`     65535 = 0
-65534 `div`     1 = 65534
-65534 `div`     2 = 32767
-65534 `div`     3 = 21844
+4294967294 `div`     4294967293 = 1
+4294967294 `div`     4294967294 = 1
+4294967294 `div`     4294967295 = 0
+4294967294 `div`     1 = 4294967294
+4294967294 `div`     2 = 2147483647
+4294967294 `div`     3 = 1431655764
  
-65535 `div`     65533 = 1
-65535 `div`     65534 = 1
-65535 `div`     65535 = 1
-65535 `div`     1 = 65535
-65535 `div`     2 = 32767
-65535 `div`     3 = 21845
+4294967295 `div`     4294967293 = 1
+4294967295 `div`     4294967294 = 1
+4294967295 `div`     4294967295 = 1
+4294967295 `div`     1 = 4294967295
+4294967295 `div`     2 = 2147483647
+4294967295 `div`     3 = 1431655765
  
-0 `div`     65533 = 0
-0 `div`     65534 = 0
-0 `div`     65535 = 0
+0 `div`     4294967293 = 0
+0 `div`     4294967294 = 0
+0 `div`     4294967295 = 0
 0 `div`     1 = 0
 0 `div`     2 = 0
 0 `div`     3 = 0
  
-1 `div`     65533 = 0
-1 `div`     65534 = 0
-1 `div`     65535 = 0
+1 `div`     4294967293 = 0
+1 `div`     4294967294 = 0
+1 `div`     4294967295 = 0
 1 `div`     1 = 1
 1 `div`     2 = 0
 1 `div`     3 = 0
  
-2 `div`     65533 = 0
-2 `div`     65534 = 0
-2 `div`     65535 = 0
+2 `div`     4294967293 = 0
+2 `div`     4294967294 = 0
+2 `div`     4294967295 = 0
 2 `div`     1 = 2
 2 `div`     2 = 1
 2 `div`     3 = 0
  
-3 `div`     65533 = 0
-3 `div`     65534 = 0
-3 `div`     65535 = 0
+3 `div`     4294967293 = 0
+3 `div`     4294967294 = 0
+3 `div`     4294967295 = 0
 3 `div`     1 = 3
 3 `div`     2 = 1
 3 `div`     3 = 1
  
 #
-65533 `mod`     65533 = 0
-65533 `mod`     65534 = 65533
-65533 `mod`     65535 = 65533
-65533 `mod`     1 = 0
-65533 `mod`     2 = 1
-65533 `mod`     3 = 1
+4294967293 `mod`     4294967293 = 0
+4294967293 `mod`     4294967294 = 4294967293
+4294967293 `mod`     4294967295 = 4294967293
+4294967293 `mod`     1 = 0
+4294967293 `mod`     2 = 1
+4294967293 `mod`     3 = 1
  
-65534 `mod`     65533 = 1
-65534 `mod`     65534 = 0
-65534 `mod`     65535 = 65534
-65534 `mod`     1 = 0
-65534 `mod`     2 = 0
-65534 `mod`     3 = 2
+4294967294 `mod`     4294967293 = 1
+4294967294 `mod`     4294967294 = 0
+4294967294 `mod`     4294967295 = 4294967294
+4294967294 `mod`     1 = 0
+4294967294 `mod`     2 = 0
+4294967294 `mod`     3 = 2
  
-65535 `mod`     65533 = 2
-65535 `mod`     65534 = 1
-65535 `mod`     65535 = 0
-65535 `mod`     1 = 0
-65535 `mod`     2 = 1
-65535 `mod`     3 = 0
+4294967295 `mod`     4294967293 = 2
+4294967295 `mod`     4294967294 = 1
+4294967295 `mod`     4294967295 = 0
+4294967295 `mod`     1 = 0
+4294967295 `mod`     2 = 1
+4294967295 `mod`     3 = 0
  
-0 `mod`     65533 = 0
-0 `mod`     65534 = 0
-0 `mod`     65535 = 0
+0 `mod`     4294967293 = 0
+0 `mod`     4294967294 = 0
+0 `mod`     4294967295 = 0
 0 `mod`     1 = 0
 0 `mod`     2 = 0
 0 `mod`     3 = 0
  
-1 `mod`     65533 = 1
-1 `mod`     65534 = 1
-1 `mod`     65535 = 1
+1 `mod`     4294967293 = 1
+1 `mod`     4294967294 = 1
+1 `mod`     4294967295 = 1
 1 `mod`     1 = 0
 1 `mod`     2 = 1
 1 `mod`     3 = 1
  
-2 `mod`     65533 = 2
-2 `mod`     65534 = 2
-2 `mod`     65535 = 2
+2 `mod`     4294967293 = 2
+2 `mod`     4294967294 = 2
+2 `mod`     4294967295 = 2
 2 `mod`     1 = 0
 2 `mod`     2 = 0
 2 `mod`     3 = 2
  
-3 `mod`     65533 = 3
-3 `mod`     65534 = 3
-3 `mod`     65535 = 3
+3 `mod`     4294967293 = 3
+3 `mod`     4294967294 = 3
+3 `mod`     4294967295 = 3
 3 `mod`     1 = 0
 3 `mod`     2 = 1
 3 `mod`     3 = 0
  
 #
-65533 `quotRem` 65533 = (1, 0)
-65533 `quotRem` 65534 = (0, 65533)
-65533 `quotRem` 65535 = (0, 65533)
-65533 `quotRem` 1 = (65533, 0)
-65533 `quotRem` 2 = (32766, 1)
-65533 `quotRem` 3 = (21844, 1)
-65534 `quotRem` 65533 = (1, 1)
-65534 `quotRem` 65534 = (1, 0)
-65534 `quotRem` 65535 = (0, 65534)
-65534 `quotRem` 1 = (65534, 0)
-65534 `quotRem` 2 = (32767, 0)
-65534 `quotRem` 3 = (21844, 2)
-65535 `quotRem` 65533 = (1, 2)
-65535 `quotRem` 65534 = (1, 1)
-65535 `quotRem` 65535 = (1, 0)
-65535 `quotRem` 1 = (65535, 0)
-65535 `quotRem` 2 = (32767, 1)
-65535 `quotRem` 3 = (21845, 0)
-0 `quotRem` 65533 = (0, 0)
-0 `quotRem` 65534 = (0, 0)
-0 `quotRem` 65535 = (0, 0)
-0 `quotRem` 1 = (0, 0)
-0 `quotRem` 2 = (0, 0)
-0 `quotRem` 3 = (0, 0)
-1 `quotRem` 65533 = (0, 1)
-1 `quotRem` 65534 = (0, 1)
-1 `quotRem` 65535 = (0, 1)
-1 `quotRem` 1 = (1, 0)
-1 `quotRem` 2 = (0, 1)
-1 `quotRem` 3 = (0, 1)
-2 `quotRem` 65533 = (0, 2)
-2 `quotRem` 65534 = (0, 2)
-2 `quotRem` 65535 = (0, 2)
-2 `quotRem` 1 = (2, 0)
-2 `quotRem` 2 = (1, 0)
-2 `quotRem` 3 = (0, 2)
-3 `quotRem` 65533 = (0, 3)
-3 `quotRem` 65534 = (0, 3)
-3 `quotRem` 65535 = (0, 3)
-3 `quotRem` 1 = (3, 0)
-3 `quotRem` 2 = (1, 1)
-3 `quotRem` 3 = (1, 0)
-#
-65533 `quot`    65533 = 1
-65533 `quot`    65534 = 0
-65533 `quot`    65535 = 0
-65533 `quot`    1 = 65533
-65533 `quot`    2 = 32766
-65533 `quot`    3 = 21844
+4294967293 `quotRem` 4294967293 = (1,0)
+4294967293 `quotRem` 4294967294 = (0,4294967293)
+4294967293 `quotRem` 4294967295 = (0,4294967293)
+4294967293 `quotRem` 1 = (4294967293,0)
+4294967293 `quotRem` 2 = (2147483646,1)
+4294967293 `quotRem` 3 = (1431655764,1)
+4294967294 `quotRem` 4294967293 = (1,1)
+4294967294 `quotRem` 4294967294 = (1,0)
+4294967294 `quotRem` 4294967295 = (0,4294967294)
+4294967294 `quotRem` 1 = (4294967294,0)
+4294967294 `quotRem` 2 = (2147483647,0)
+4294967294 `quotRem` 3 = (1431655764,2)
+4294967295 `quotRem` 4294967293 = (1,2)
+4294967295 `quotRem` 4294967294 = (1,1)
+4294967295 `quotRem` 4294967295 = (1,0)
+4294967295 `quotRem` 1 = (4294967295,0)
+4294967295 `quotRem` 2 = (2147483647,1)
+4294967295 `quotRem` 3 = (1431655765,0)
+0 `quotRem` 4294967293 = (0,0)
+0 `quotRem` 4294967294 = (0,0)
+0 `quotRem` 4294967295 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` 4294967293 = (0,1)
+1 `quotRem` 4294967294 = (0,1)
+1 `quotRem` 4294967295 = (0,1)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` 4294967293 = (0,2)
+2 `quotRem` 4294967294 = (0,2)
+2 `quotRem` 4294967295 = (0,2)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` 4294967293 = (0,3)
+3 `quotRem` 4294967294 = (0,3)
+3 `quotRem` 4294967295 = (0,3)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
  
-65534 `quot`    65533 = 1
-65534 `quot`    65534 = 1
-65534 `quot`    65535 = 0
-65534 `quot`    1 = 65534
-65534 `quot`    2 = 32767
-65534 `quot`    3 = 21844
+#
+4294967293 `quot`    4294967293 = 1
+4294967293 `quot`    4294967294 = 0
+4294967293 `quot`    4294967295 = 0
+4294967293 `quot`    1 = 4294967293
+4294967293 `quot`    2 = 2147483646
+4294967293 `quot`    3 = 1431655764
  
-65535 `quot`    65533 = 1
-65535 `quot`    65534 = 1
-65535 `quot`    65535 = 1
-65535 `quot`    1 = 65535
-65535 `quot`    2 = 32767
-65535 `quot`    3 = 21845
+4294967294 `quot`    4294967293 = 1
+4294967294 `quot`    4294967294 = 1
+4294967294 `quot`    4294967295 = 0
+4294967294 `quot`    1 = 4294967294
+4294967294 `quot`    2 = 2147483647
+4294967294 `quot`    3 = 1431655764
  
-0 `quot`    65533 = 0
-0 `quot`    65534 = 0
-0 `quot`    65535 = 0
+4294967295 `quot`    4294967293 = 1
+4294967295 `quot`    4294967294 = 1
+4294967295 `quot`    4294967295 = 1
+4294967295 `quot`    1 = 4294967295
+4294967295 `quot`    2 = 2147483647
+4294967295 `quot`    3 = 1431655765
+0 `quot`    4294967293 = 0
+0 `quot`    4294967294 = 0
+0 `quot`    4294967295 = 0
 0 `quot`    1 = 0
 0 `quot`    2 = 0
 0 `quot`    3 = 0
  
-1 `quot`    65533 = 0
-1 `quot`    65534 = 0
-1 `quot`    65535 = 0
+1 `quot`    4294967293 = 0
+1 `quot`    4294967294 = 0
+1 `quot`    4294967295 = 0
 1 `quot`    1 = 1
 1 `quot`    2 = 0
 1 `quot`    3 = 0
  
-2 `quot`    65533 = 0
-2 `quot`    65534 = 0
-2 `quot`    65535 = 0
+2 `quot`    4294967293 = 0
+2 `quot`    4294967294 = 0
+2 `quot`    4294967295 = 0
 2 `quot`    1 = 2
 2 `quot`    2 = 1
 2 `quot`    3 = 0
  
-3 `quot`    65533 = 0
-3 `quot`    65534 = 0
-3 `quot`    65535 = 0
+3 `quot`    4294967293 = 0
+3 `quot`    4294967294 = 0
+3 `quot`    4294967295 = 0
 3 `quot`    1 = 3
 3 `quot`    2 = 1
 3 `quot`    3 = 1
  
 #
-65533 `rem`     65533 = 0
-65533 `rem`     65534 = 65533
-65533 `rem`     65535 = 65533
-65533 `rem`     1 = 0
-65533 `rem`     2 = 1
-65533 `rem`     3 = 1
+4294967293 `rem`     4294967293 = 0
+4294967293 `rem`     4294967294 = 4294967293
+4294967293 `rem`     4294967295 = 4294967293
+4294967293 `rem`     1 = 0
+4294967293 `rem`     2 = 1
+4294967293 `rem`     3 = 1
  
-65534 `rem`     65533 = 1
-65534 `rem`     65534 = 0
-65534 `rem`     65535 = 65534
-65534 `rem`     1 = 0
-65534 `rem`     2 = 0
-65534 `rem`     3 = 2
+4294967294 `rem`     4294967293 = 1
+4294967294 `rem`     4294967294 = 0
+4294967294 `rem`     4294967295 = 4294967294
+4294967294 `rem`     1 = 0
+4294967294 `rem`     2 = 0
+4294967294 `rem`     3 = 2
  
-65535 `rem`     65533 = 2
-65535 `rem`     65534 = 1
-65535 `rem`     65535 = 0
-65535 `rem`     1 = 0
-65535 `rem`     2 = 1
-65535 `rem`     3 = 0
+4294967295 `rem`     4294967293 = 2
+4294967295 `rem`     4294967294 = 1
+4294967295 `rem`     4294967295 = 0
+4294967295 `rem`     1 = 0
+4294967295 `rem`     2 = 1
+4294967295 `rem`     3 = 0
  
-0 `rem`     65533 = 0
-0 `rem`     65534 = 0
-0 `rem`     65535 = 0
+0 `rem`     4294967293 = 0
+0 `rem`     4294967294 = 0
+0 `rem`     4294967295 = 0
 0 `rem`     1 = 0
 0 `rem`     2 = 0
 0 `rem`     3 = 0
  
-1 `rem`     65533 = 1
-1 `rem`     65534 = 1
-1 `rem`     65535 = 1
+1 `rem`     4294967293 = 1
+1 `rem`     4294967294 = 1
+1 `rem`     4294967295 = 1
 1 `rem`     1 = 0
 1 `rem`     2 = 1
 1 `rem`     3 = 1
  
-2 `rem`     65533 = 2
-2 `rem`     65534 = 2
-2 `rem`     65535 = 2
+2 `rem`     4294967293 = 2
+2 `rem`     4294967294 = 2
+2 `rem`     4294967295 = 2
 2 `rem`     1 = 0
 2 `rem`     2 = 0
 2 `rem`     3 = 2
  
-3 `rem`     65533 = 3
-3 `rem`     65534 = 3
-3 `rem`     65535 = 3
+3 `rem`     4294967293 = 3
+3 `rem`     4294967294 = 3
+3 `rem`     4294967295 = 3
 3 `rem`     1 = 0
 3 `rem`     2 = 1
 3 `rem`     3 = 0
  
 #
 testBits
-65533 .&.   65533 = 65533
-65533 .&.   65534 = 65532
-65533 .&.   65535 = 65533
-65533 .&.   1 = 1
-65533 .&.   2 = 0
-65533 .&.   3 = 1
+4294967293 .&.   4294967293 = 4294967293
+4294967293 .&.   4294967294 = 4294967292
+4294967293 .&.   4294967295 = 4294967293
+4294967293 .&.   1 = 1
+4294967293 .&.   2 = 0
+4294967293 .&.   3 = 1
  
-65534 .&.   65533 = 65532
-65534 .&.   65534 = 65534
-65534 .&.   65535 = 65534
-65534 .&.   1 = 0
-65534 .&.   2 = 2
-65534 .&.   3 = 2
+4294967294 .&.   4294967293 = 4294967292
+4294967294 .&.   4294967294 = 4294967294
+4294967294 .&.   4294967295 = 4294967294
+4294967294 .&.   1 = 0
+4294967294 .&.   2 = 2
+4294967294 .&.   3 = 2
  
-65535 .&.   65533 = 65533
-65535 .&.   65534 = 65534
-65535 .&.   65535 = 65535
-65535 .&.   1 = 1
-65535 .&.   2 = 2
-65535 .&.   3 = 3
+4294967295 .&.   4294967293 = 4294967293
+4294967295 .&.   4294967294 = 4294967294
+4294967295 .&.   4294967295 = 4294967295
+4294967295 .&.   1 = 1
+4294967295 .&.   2 = 2
+4294967295 .&.   3 = 3
  
-0 .&.   65533 = 0
-0 .&.   65534 = 0
-0 .&.   65535 = 0
+0 .&.   4294967293 = 0
+0 .&.   4294967294 = 0
+0 .&.   4294967295 = 0
 0 .&.   1 = 0
 0 .&.   2 = 0
 0 .&.   3 = 0
  
-1 .&.   65533 = 1
-1 .&.   65534 = 0
-1 .&.   65535 = 1
+1 .&.   4294967293 = 1
+1 .&.   4294967294 = 0
+1 .&.   4294967295 = 1
 1 .&.   1 = 1
 1 .&.   2 = 0
 1 .&.   3 = 1
  
-2 .&.   65533 = 0
-2 .&.   65534 = 2
-2 .&.   65535 = 2
+2 .&.   4294967293 = 0
+2 .&.   4294967294 = 2
+2 .&.   4294967295 = 2
 2 .&.   1 = 0
 2 .&.   2 = 2
 2 .&.   3 = 2
  
-3 .&.   65533 = 1
-3 .&.   65534 = 2
-3 .&.   65535 = 3
+3 .&.   4294967293 = 1
+3 .&.   4294967294 = 2
+3 .&.   4294967295 = 3
 3 .&.   1 = 1
 3 .&.   2 = 2
 3 .&.   3 = 3
  
 #
-65533 .|.   65533 = 65533
-65533 .|.   65534 = 65535
-65533 .|.   65535 = 65535
-65533 .|.   1 = 65533
-65533 .|.   2 = 65535
-65533 .|.   3 = 65535
+4294967293 .|.   4294967293 = 4294967293
+4294967293 .|.   4294967294 = 4294967295
+4294967293 .|.   4294967295 = 4294967295
+4294967293 .|.   1 = 4294967293
+4294967293 .|.   2 = 4294967295
+4294967293 .|.   3 = 4294967295
  
-65534 .|.   65533 = 65535
-65534 .|.   65534 = 65534
-65534 .|.   65535 = 65535
-65534 .|.   1 = 65535
-65534 .|.   2 = 65534
-65534 .|.   3 = 65535
+4294967294 .|.   4294967293 = 4294967295
+4294967294 .|.   4294967294 = 4294967294
+4294967294 .|.   4294967295 = 4294967295
+4294967294 .|.   1 = 4294967295
+4294967294 .|.   2 = 4294967294
+4294967294 .|.   3 = 4294967295
  
-65535 .|.   65533 = 65535
-65535 .|.   65534 = 65535
-65535 .|.   65535 = 65535
-65535 .|.   1 = 65535
-65535 .|.   2 = 65535
-65535 .|.   3 = 65535
+4294967295 .|.   4294967293 = 4294967295
+4294967295 .|.   4294967294 = 4294967295
+4294967295 .|.   4294967295 = 4294967295
+4294967295 .|.   1 = 4294967295
+4294967295 .|.   2 = 4294967295
+4294967295 .|.   3 = 4294967295
  
-0 .|.   65533 = 65533
-0 .|.   65534 = 65534
-0 .|.   65535 = 65535
+0 .|.   4294967293 = 4294967293
+0 .|.   4294967294 = 4294967294
+0 .|.   4294967295 = 4294967295
 0 .|.   1 = 1
 0 .|.   2 = 2
 0 .|.   3 = 3
  
-1 .|.   65533 = 65533
-1 .|.   65534 = 65535
-1 .|.   65535 = 65535
+1 .|.   4294967293 = 4294967293
+1 .|.   4294967294 = 4294967295
+1 .|.   4294967295 = 4294967295
 1 .|.   1 = 1
 1 .|.   2 = 3
 1 .|.   3 = 3
  
-2 .|.   65533 = 65535
-2 .|.   65534 = 65534
-2 .|.   65535 = 65535
+2 .|.   4294967293 = 4294967295
+2 .|.   4294967294 = 4294967294
+2 .|.   4294967295 = 4294967295
 2 .|.   1 = 3
 2 .|.   2 = 2
 2 .|.   3 = 3
  
-3 .|.   65533 = 65535
-3 .|.   65534 = 65535
-3 .|.   65535 = 65535
+3 .|.   4294967293 = 4294967295
+3 .|.   4294967294 = 4294967295
+3 .|.   4294967295 = 4294967295
 3 .|.   1 = 3
 3 .|.   2 = 3
 3 .|.   3 = 3
  
 #
-65533 `xor` 65533 = 0
-65533 `xor` 65534 = 3
-65533 `xor` 65535 = 2
-65533 `xor` 1 = 65532
-65533 `xor` 2 = 65535
-65533 `xor` 3 = 65534
+4294967293 `xor` 4294967293 = 0
+4294967293 `xor` 4294967294 = 3
+4294967293 `xor` 4294967295 = 2
+4294967293 `xor` 1 = 4294967292
+4294967293 `xor` 2 = 4294967295
+4294967293 `xor` 3 = 4294967294
  
-65534 `xor` 65533 = 3
-65534 `xor` 65534 = 0
-65534 `xor` 65535 = 1
-65534 `xor` 1 = 65535
-65534 `xor` 2 = 65532
-65534 `xor` 3 = 65533
+4294967294 `xor` 4294967293 = 3
+4294967294 `xor` 4294967294 = 0
+4294967294 `xor` 4294967295 = 1
+4294967294 `xor` 1 = 4294967295
+4294967294 `xor` 2 = 4294967292
+4294967294 `xor` 3 = 4294967293
  
-65535 `xor` 65533 = 2
-65535 `xor` 65534 = 1
-65535 `xor` 65535 = 0
-65535 `xor` 1 = 65534
-65535 `xor` 2 = 65533
-65535 `xor` 3 = 65532
+4294967295 `xor` 4294967293 = 2
+4294967295 `xor` 4294967294 = 1
+4294967295 `xor` 4294967295 = 0
+4294967295 `xor` 1 = 4294967294
+4294967295 `xor` 2 = 4294967293
+4294967295 `xor` 3 = 4294967292
  
-0 `xor` 65533 = 65533
-0 `xor` 65534 = 65534
-0 `xor` 65535 = 65535
+0 `xor` 4294967293 = 4294967293
+0 `xor` 4294967294 = 4294967294
+0 `xor` 4294967295 = 4294967295
 0 `xor` 1 = 1
 0 `xor` 2 = 2
 0 `xor` 3 = 3
  
-1 `xor` 65533 = 65532
-1 `xor` 65534 = 65535
-1 `xor` 65535 = 65534
+1 `xor` 4294967293 = 4294967292
+1 `xor` 4294967294 = 4294967295
+1 `xor` 4294967295 = 4294967294
 1 `xor` 1 = 0
 1 `xor` 2 = 3
 1 `xor` 3 = 2
  
-2 `xor` 65533 = 65535
-2 `xor` 65534 = 65532
-2 `xor` 65535 = 65533
+2 `xor` 4294967293 = 4294967295
+2 `xor` 4294967294 = 4294967292
+2 `xor` 4294967295 = 4294967293
 2 `xor` 1 = 3
 2 `xor` 2 = 0
 2 `xor` 3 = 1
  
-3 `xor` 65533 = 65534
-3 `xor` 65534 = 65533
-3 `xor` 65535 = 65532
+3 `xor` 4294967293 = 4294967294
+3 `xor` 4294967294 = 4294967293
+3 `xor` 4294967295 = 4294967292
 3 `xor` 1 = 2
 3 `xor` 2 = 1
 3 `xor` 3 = 0
  
 #
-complement 65533 = 2
-complement 65534 = 1
-complement 65535 = 0
-complement 0 = 65535
-complement 1 = 65534
-complement 2 = 65533
-complement 3 = 65532
+complement 4294967293 = 2
+complement 4294967294 = 1
+complement 4294967295 = 0
+complement 0 = 4294967295
+complement 1 = 4294967294
+complement 2 = 4294967293
+complement 3 = 4294967292
 #
-65533 `shift` 0 = 65533
-65533 `shift` 1 = 65530
-65533 `shift` 2 = 65524
-65533 `shift` 3 = 65512
-65534 `shift` 0 = 65534
-65534 `shift` 1 = 65532
-65534 `shift` 2 = 65528
-65534 `shift` 3 = 65520
-65535 `shift` 0 = 65535
-65535 `shift` 1 = 65534
-65535 `shift` 2 = 65532
-65535 `shift` 3 = 65528
-0 `shift` 0 = 0
-0 `shift` 1 = 0
-0 `shift` 2 = 0
-0 `shift` 3 = 0
-1 `shift` 0 = 1
-1 `shift` 1 = 2
-1 `shift` 2 = 4
-1 `shift` 3 = 8
-2 `shift` 0 = 2
-2 `shift` 1 = 4
-2 `shift` 2 = 8
-2 `shift` 3 = 16
-3 `shift` 0 = 3
-3 `shift` 1 = 6
-3 `shift` 2 = 12
-3 `shift` 3 = 24
+4294967293 `shiftL` 0 = 4294967293
+4294967293 `shiftL` 1 = 4294967290
+4294967293 `shiftL` 2 = 4294967284
+4294967293 `shiftL` 3 = 4294967272
+4294967293 `shiftL` 32 = 0
+4294967294 `shiftL` 0 = 4294967294
+4294967294 `shiftL` 1 = 4294967292
+4294967294 `shiftL` 2 = 4294967288
+4294967294 `shiftL` 3 = 4294967280
+4294967294 `shiftL` 32 = 0
+4294967295 `shiftL` 0 = 4294967295
+4294967295 `shiftL` 1 = 4294967294
+4294967295 `shiftL` 2 = 4294967292
+4294967295 `shiftL` 3 = 4294967288
+4294967295 `shiftL` 32 = 0
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 0
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 0
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 0
+#
+4294967293 `shiftR` 0 = 4294967293
+4294967293 `shiftR` 1 = 2147483646
+4294967293 `shiftR` 2 = 1073741823
+4294967293 `shiftR` 3 = 536870911
+4294967293 `shiftR` 32 = 0
+4294967294 `shiftR` 0 = 4294967294
+4294967294 `shiftR` 1 = 2147483647
+4294967294 `shiftR` 2 = 1073741823
+4294967294 `shiftR` 3 = 536870911
+4294967294 `shiftR` 32 = 0
+4294967295 `shiftR` 0 = 4294967295
+4294967295 `shiftR` 1 = 2147483647
+4294967295 `shiftR` 2 = 1073741823
+4294967295 `shiftR` 3 = 536870911
+4294967295 `shiftR` 32 = 0
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
  
 #
-65533 `rotate` -3 = 49151
-65533 `rotate` -2 = 32767
-65533 `rotate` -1 = 65534
-65533 `rotate` 0 = 65533
-65533 `rotate` 1 = 65531
-65533 `rotate` 2 = 65527
-65533 `rotate` 3 = 65519
+4294967293 `rotate` -3 = 3221225471
+4294967293 `rotate` -2 = 2147483647
+4294967293 `rotate` -1 = 4294967294
+4294967293 `rotate` 0 = 4294967293
+4294967293 `rotate` 1 = 4294967291
+4294967293 `rotate` 2 = 4294967287
+4294967293 `rotate` 3 = 4294967279
  
-65534 `rotate` -3 = 57343
-65534 `rotate` -2 = 49151
-65534 `rotate` -1 = 32767
-65534 `rotate` 0 = 65534
-65534 `rotate` 1 = 65533
-65534 `rotate` 2 = 65531
-65534 `rotate` 3 = 65527
+4294967294 `rotate` -3 = 3758096383
+4294967294 `rotate` -2 = 3221225471
+4294967294 `rotate` -1 = 2147483647
+4294967294 `rotate` 0 = 4294967294
+4294967294 `rotate` 1 = 4294967293
+4294967294 `rotate` 2 = 4294967291
+4294967294 `rotate` 3 = 4294967287
  
-65535 `rotate` -3 = 65535
-65535 `rotate` -2 = 65535
-65535 `rotate` -1 = 65535
-65535 `rotate` 0 = 65535
-65535 `rotate` 1 = 65535
-65535 `rotate` 2 = 65535
-65535 `rotate` 3 = 65535
+4294967295 `rotate` -3 = 4294967295
+4294967295 `rotate` -2 = 4294967295
+4294967295 `rotate` -1 = 4294967295
+4294967295 `rotate` 0 = 4294967295
+4294967295 `rotate` 1 = 4294967295
+4294967295 `rotate` 2 = 4294967295
+4294967295 `rotate` 3 = 4294967295
  
 0 `rotate` -3 = 0
 0 `rotate` -2 = 0
@@ -6422,25 +9085,25 @@ complement 3 = 65532
 0 `rotate` 2 = 0
 0 `rotate` 3 = 0
  
-1 `rotate` -3 = 8192
-1 `rotate` -2 = 16384
-1 `rotate` -1 = 32768
+1 `rotate` -3 = 536870912
+1 `rotate` -2 = 1073741824
+1 `rotate` -1 = 2147483648
 1 `rotate` 0 = 1
 1 `rotate` 1 = 2
 1 `rotate` 2 = 4
 1 `rotate` 3 = 8
  
-2 `rotate` -3 = 16384
-2 `rotate` -2 = 32768
+2 `rotate` -3 = 1073741824
+2 `rotate` -2 = 2147483648
 2 `rotate` -1 = 1
 2 `rotate` 0 = 2
 2 `rotate` 1 = 4
 2 `rotate` 2 = 8
 2 `rotate` 3 = 16
  
-3 `rotate` -3 = 24576
-3 `rotate` -2 = 49152
-3 `rotate` -1 = 32769
+3 `rotate` -3 = 1610612736
+3 `rotate` -2 = 3221225472
+3 `rotate` -1 = 2147483649
 3 `rotate` 0 = 3
 3 `rotate` 1 = 6
 3 `rotate` 2 = 12
@@ -6452,290 +9115,314 @@ bit 1 = 2
 bit 2 = 4
 bit 3 = 8
 #
-65533 `setBit` 0 = 65533
-65533 `setBit` 1 = 65535
-65533 `setBit` 2 = 65533
-65533 `setBit` 3 = 65533
+4294967293 `setBit` 0 = 4294967293
+4294967293 `setBit` 1 = 4294967295
+4294967293 `setBit` 2 = 4294967293
+4294967293 `setBit` 3 = 4294967293
+4294967293 `setBit` 32 = 4294967293
  
-65534 `setBit` 0 = 65535
-65534 `setBit` 1 = 65534
-65534 `setBit` 2 = 65534
-65534 `setBit` 3 = 65534
+4294967294 `setBit` 0 = 4294967295
+4294967294 `setBit` 1 = 4294967294
+4294967294 `setBit` 2 = 4294967294
+4294967294 `setBit` 3 = 4294967294
+4294967294 `setBit` 32 = 4294967294
  
-65535 `setBit` 0 = 65535
-65535 `setBit` 1 = 65535
-65535 `setBit` 2 = 65535
-65535 `setBit` 3 = 65535
+4294967295 `setBit` 0 = 4294967295
+4294967295 `setBit` 1 = 4294967295
+4294967295 `setBit` 2 = 4294967295
+4294967295 `setBit` 3 = 4294967295
+4294967295 `setBit` 32 = 4294967295
  
 0 `setBit` 0 = 1
 0 `setBit` 1 = 2
 0 `setBit` 2 = 4
 0 `setBit` 3 = 8
+0 `setBit` 32 = 0
  
 1 `setBit` 0 = 1
 1 `setBit` 1 = 3
 1 `setBit` 2 = 5
 1 `setBit` 3 = 9
+1 `setBit` 32 = 1
  
 2 `setBit` 0 = 3
 2 `setBit` 1 = 2
 2 `setBit` 2 = 6
 2 `setBit` 3 = 10
+2 `setBit` 32 = 2
  
 3 `setBit` 0 = 3
 3 `setBit` 1 = 3
 3 `setBit` 2 = 7
 3 `setBit` 3 = 11
+3 `setBit` 32 = 3
  
 #
-65533 `clearBit` 0 = 65532
-65533 `clearBit` 1 = 65533
-65533 `clearBit` 2 = 65529
-65533 `clearBit` 3 = 65525
+4294967293 `clearBit` 0 = 4294967292
+4294967293 `clearBit` 1 = 4294967293
+4294967293 `clearBit` 2 = 4294967289
+4294967293 `clearBit` 3 = 4294967285
+4294967293 `clearBit` 32 = 4294967293
  
-65534 `clearBit` 0 = 65534
-65534 `clearBit` 1 = 65532
-65534 `clearBit` 2 = 65530
-65534 `clearBit` 3 = 65526
+4294967294 `clearBit` 0 = 4294967294
+4294967294 `clearBit` 1 = 4294967292
+4294967294 `clearBit` 2 = 4294967290
+4294967294 `clearBit` 3 = 4294967286
+4294967294 `clearBit` 32 = 4294967294
  
-65535 `clearBit` 0 = 65534
-65535 `clearBit` 1 = 65533
-65535 `clearBit` 2 = 65531
-65535 `clearBit` 3 = 65527
+4294967295 `clearBit` 0 = 4294967294
+4294967295 `clearBit` 1 = 4294967293
+4294967295 `clearBit` 2 = 4294967291
+4294967295 `clearBit` 3 = 4294967287
+4294967295 `clearBit` 32 = 4294967295
  
 0 `clearBit` 0 = 0
 0 `clearBit` 1 = 0
 0 `clearBit` 2 = 0
 0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
  
 1 `clearBit` 0 = 0
 1 `clearBit` 1 = 1
 1 `clearBit` 2 = 1
 1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
  
 2 `clearBit` 0 = 2
 2 `clearBit` 1 = 0
 2 `clearBit` 2 = 2
 2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
  
 3 `clearBit` 0 = 2
 3 `clearBit` 1 = 1
 3 `clearBit` 2 = 3
 3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
  
 #
-65533 `complementBit` 0 = 65532
-65533 `complementBit` 1 = 65535
-65533 `complementBit` 2 = 65529
-65533 `complementBit` 3 = 65525
+4294967293 `complementBit` 0 = 4294967292
+4294967293 `complementBit` 1 = 4294967295
+4294967293 `complementBit` 2 = 4294967289
+4294967293 `complementBit` 3 = 4294967285
+4294967293 `complementBit` 32 = 4294967293
  
-65534 `complementBit` 0 = 65535
-65534 `complementBit` 1 = 65532
-65534 `complementBit` 2 = 65530
-65534 `complementBit` 3 = 65526
+4294967294 `complementBit` 0 = 4294967295
+4294967294 `complementBit` 1 = 4294967292
+4294967294 `complementBit` 2 = 4294967290
+4294967294 `complementBit` 3 = 4294967286
+4294967294 `complementBit` 32 = 4294967294
  
-65535 `complementBit` 0 = 65534
-65535 `complementBit` 1 = 65533
-65535 `complementBit` 2 = 65531
-65535 `complementBit` 3 = 65527
+4294967295 `complementBit` 0 = 4294967294
+4294967295 `complementBit` 1 = 4294967293
+4294967295 `complementBit` 2 = 4294967291
+4294967295 `complementBit` 3 = 4294967287
+4294967295 `complementBit` 32 = 4294967295
  
 0 `complementBit` 0 = 1
 0 `complementBit` 1 = 2
 0 `complementBit` 2 = 4
 0 `complementBit` 3 = 8
+0 `complementBit` 32 = 0
  
 1 `complementBit` 0 = 0
 1 `complementBit` 1 = 3
 1 `complementBit` 2 = 5
 1 `complementBit` 3 = 9
+1 `complementBit` 32 = 1
  
 2 `complementBit` 0 = 3
 2 `complementBit` 1 = 0
 2 `complementBit` 2 = 6
 2 `complementBit` 3 = 10
+2 `complementBit` 32 = 2
  
 3 `complementBit` 0 = 2
 3 `complementBit` 1 = 1
 3 `complementBit` 2 = 7
 3 `complementBit` 3 = 11
+3 `complementBit` 32 = 3
  
 #
-65533 `testBit` 0 = True
-65533 `testBit` 1 = False
-65533 `testBit` 2 = True
-65533 `testBit` 3 = True
+4294967293 `testBit` 0 = True
+4294967293 `testBit` 1 = False
+4294967293 `testBit` 2 = True
+4294967293 `testBit` 3 = True
+4294967293 `testBit` 32 = False
  
-65534 `testBit` 0 = False
-65534 `testBit` 1 = True
-65534 `testBit` 2 = True
-65534 `testBit` 3 = True
+4294967294 `testBit` 0 = False
+4294967294 `testBit` 1 = True
+4294967294 `testBit` 2 = True
+4294967294 `testBit` 3 = True
+4294967294 `testBit` 32 = False
  
-65535 `testBit` 0 = True
-65535 `testBit` 1 = True
-65535 `testBit` 2 = True
-65535 `testBit` 3 = True
+4294967295 `testBit` 0 = True
+4294967295 `testBit` 1 = True
+4294967295 `testBit` 2 = True
+4294967295 `testBit` 3 = True
+4294967295 `testBit` 32 = False
  
 0 `testBit` 0 = False
 0 `testBit` 1 = False
 0 `testBit` 2 = False
 0 `testBit` 3 = False
+0 `testBit` 32 = False
  
 1 `testBit` 0 = True
 1 `testBit` 1 = False
 1 `testBit` 2 = False
 1 `testBit` 3 = False
+1 `testBit` 32 = False
  
 2 `testBit` 0 = False
 2 `testBit` 1 = True
 2 `testBit` 2 = False
 2 `testBit` 3 = False
+2 `testBit` 32 = False
  
 3 `testBit` 0 = True
 3 `testBit` 1 = True
 3 `testBit` 2 = False
 3 `testBit` 3 = False
+3 `testBit` 32 = False
  
 #
-bitSize 65533 = 16
-bitSize 65534 = 16
-bitSize 65535 = 16
-bitSize 0 = 16
-bitSize 1 = 16
-bitSize 2 = 16
-bitSize 3 = 16
+bitSize 4294967293 = 32
+bitSize 4294967294 = 32
+bitSize 4294967295 = 32
+bitSize 0 = 32
+bitSize 1 = 32
+bitSize 2 = 32
+bitSize 3 = 32
 #
-isSigned 65533 = False
-isSigned 65534 = False
-isSigned 65535 = False
+isSigned 4294967293 = False
+isSigned 4294967294 = False
+isSigned 4294967295 = False
 isSigned 0 = False
 isSigned 1 = False
 isSigned 2 = False
 isSigned 3 = False
 #
 --------------------------------
---------------------------------
---Testing Word32
---------------------------------
-testBounded
-(4294967295, 0, 1)
-(4294967294, 4294967295, 0)
+--Testing Integer
+  putStrLn $ 
 testEnum
-[]
-[]
-[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
 testReadShow
-[4294967293, 4294967294, 4294967295, 0, 1, 2, 3]
-[4294967293, 4294967294, 4294967295, 0, 1, 2, 3]
+[-3,-2,-1,0,1,2,3]
+[-3,-2,-1,0,1,2,3]
 testEq
-4294967293 == 4294967293 = True
-4294967293 == 4294967294 = False
-4294967293 == 4294967295 = False
-4294967293 == 0 = False
-4294967293 == 1 = False
-4294967293 == 2 = False
-4294967293 == 3 = False
-4294967294 == 4294967293 = False
-4294967294 == 4294967294 = True
-4294967294 == 4294967295 = False
-4294967294 == 0 = False
-4294967294 == 1 = False
-4294967294 == 2 = False
-4294967294 == 3 = False
+-3 == -3 = True
+-3 == -2 = False
+-3 == -1 = False
+-3 == 0 = False
+-3 == 1 = False
+-3 == 2 = False
+-3 == 3 = False
  
-4294967295 == 4294967293 = False
-4294967295 == 4294967294 = False
-4294967295 == 4294967295 = True
-4294967295 == 0 = False
-4294967295 == 1 = False
-4294967295 == 2 = False
-4294967295 == 3 = False
+-2 == -3 = False
+-2 == -2 = True
+-2 == -1 = False
+-2 == 0 = False
+-2 == 1 = False
+-2 == 2 = False
+-2 == 3 = False
  
-0 == 4294967293 = False
-0 == 4294967294 = False
-0 == 4294967295 = False
+-1 == -3 = False
+-1 == -2 = False
+-1 == -1 = True
+-1 == 0 = False
+-1 == 1 = False
+-1 == 2 = False
+-1 == 3 = False
+0 == -3 = False
+0 == -2 = False
+0 == -1 = False
 0 == 0 = True
 0 == 1 = False
 0 == 2 = False
 0 == 3 = False
  
-1 == 4294967293 = False
-1 == 4294967294 = False
-1 == 4294967295 = False
+1 == -3 = False
+1 == -2 = False
+1 == -1 = False
 1 == 0 = False
 1 == 1 = True
 1 == 2 = False
 1 == 3 = False
  
-2 == 4294967293 = False
-2 == 4294967294 = False
-2 == 4294967295 = False
+2 == -3 = False
+2 == -2 = False
+2 == -1 = False
 2 == 0 = False
 2 == 1 = False
 2 == 2 = True
 2 == 3 = False
  
-3 == 4294967293 = False
-3 == 4294967294 = False
-3 == 4294967295 = False
+3 == -3 = False
+3 == -2 = False
+3 == -1 = False
 3 == 0 = False
 3 == 1 = False
 3 == 2 = False
 3 == 3 = True
  
 #
-4294967293 /= 4294967293 = False
-4294967293 /= 4294967294 = True
-4294967293 /= 4294967295 = True
-4294967293 /= 0 = True
-4294967293 /= 1 = True
-4294967293 /= 2 = True
-4294967293 /= 3 = True
+-3 /= -3 = False
+-3 /= -2 = True
+-3 /= -1 = True
+-3 /= 0 = True
+-3 /= 1 = True
+-3 /= 2 = True
+-3 /= 3 = True
  
-4294967294 /= 4294967293 = True
-4294967294 /= 4294967294 = False
-4294967294 /= 4294967295 = True
-4294967294 /= 0 = True
-4294967294 /= 1 = True
-4294967294 /= 2 = True
-4294967294 /= 3 = True
+-2 /= -3 = True
+-2 /= -2 = False
+-2 /= -1 = True
+-2 /= 0 = True
+-2 /= 1 = True
+-2 /= 2 = True
+-2 /= 3 = True
  
-4294967295 /= 4294967293 = True
-4294967295 /= 4294967294 = True
-4294967295 /= 4294967295 = False
-4294967295 /= 0 = True
-4294967295 /= 1 = True
-4294967295 /= 2 = True
-4294967295 /= 3 = True
+-1 /= -3 = True
+-1 /= -2 = True
+-1 /= -1 = False
+-1 /= 0 = True
+-1 /= 1 = True
+-1 /= 2 = True
+-1 /= 3 = True
  
-0 /= 4294967293 = True
-0 /= 4294967294 = True
-0 /= 4294967295 = True
+0 /= -3 = True
+0 /= -2 = True
+0 /= -1 = True
 0 /= 0 = False
 0 /= 1 = True
 0 /= 2 = True
 0 /= 3 = True
  
-1 /= 4294967293 = True
-1 /= 4294967294 = True
-1 /= 4294967295 = True
+1 /= -3 = True
+1 /= -2 = True
+1 /= -1 = True
 1 /= 0 = True
 1 /= 1 = False
 1 /= 2 = True
 1 /= 3 = True
  
-2 /= 4294967293 = True
-2 /= 4294967294 = True
-2 /= 4294967295 = True
+2 /= -3 = True
+2 /= -2 = True
+2 /= -1 = True
 2 /= 0 = True
 2 /= 1 = True
 2 /= 2 = False
 2 /= 3 = True
  
-3 /= 4294967293 = True
-3 /= 4294967294 = True
-3 /= 4294967295 = True
+3 /= -3 = True
+3 /= -2 = True
+3 /= -1 = True
 3 /= 0 = True
 3 /= 1 = True
 3 /= 2 = True
@@ -6743,285 +9430,285 @@ testEq
  
 #
 testOrd
-4294967293 <= 4294967293 = True
-4294967293 <= 4294967294 = True
-4294967293 <= 4294967295 = True
-4294967293 <= 0 = False
-4294967293 <= 1 = False
-4294967293 <= 2 = False
-4294967293 <= 3 = False
+-3 <= -3 = True
+-3 <= -2 = True
+-3 <= -1 = True
+-3 <= 0 = True
+-3 <= 1 = True
+-3 <= 2 = True
+-3 <= 3 = True
  
-4294967294 <= 4294967293 = False
-4294967294 <= 4294967294 = True
-4294967294 <= 4294967295 = True
-4294967294 <= 0 = False
-4294967294 <= 1 = False
-4294967294 <= 2 = False
-4294967294 <= 3 = False
+-2 <= -3 = False
+-2 <= -2 = True
+-2 <= -1 = True
+-2 <= 0 = True
+-2 <= 1 = True
+-2 <= 2 = True
+-2 <= 3 = True
  
-4294967295 <= 4294967293 = False
-4294967295 <= 4294967294 = False
-4294967295 <= 4294967295 = True
-4294967295 <= 0 = False
-4294967295 <= 1 = False
-4294967295 <= 2 = False
-4294967295 <= 3 = False
+-1 <= -3 = False
+-1 <= -2 = False
+-1 <= -1 = True
+-1 <= 0 = True
+-1 <= 1 = True
+-1 <= 2 = True
+-1 <= 3 = True
  
-0 <= 4294967293 = True
-0 <= 4294967294 = True
-0 <= 4294967295 = True
+0 <= -3 = False
+0 <= -2 = False
+0 <= -1 = False
 0 <= 0 = True
 0 <= 1 = True
 0 <= 2 = True
 0 <= 3 = True
  
-1 <= 4294967293 = True
-1 <= 4294967294 = True
-1 <= 4294967295 = True
+1 <= -3 = False
+1 <= -2 = False
+1 <= -1 = False
 1 <= 0 = False
 1 <= 1 = True
 1 <= 2 = True
 1 <= 3 = True
  
-2 <= 4294967293 = True
-2 <= 4294967294 = True
-2 <= 4294967295 = True
+2 <= -3 = False
+2 <= -2 = False
+2 <= -1 = False
 2 <= 0 = False
 2 <= 1 = False
 2 <= 2 = True
 2 <= 3 = True
  
-3 <= 4294967293 = True
-3 <= 4294967294 = True
-3 <= 4294967295 = True
+3 <= -3 = False
+3 <= -2 = False
+3 <= -1 = False
 3 <= 0 = False
 3 <= 1 = False
 3 <= 2 = False
 3 <= 3 = True
  
 #
-4294967293 <  4294967293 = False
-4294967293 <  4294967294 = True
-4294967293 <  4294967295 = True
-4294967293 <  0 = False
-4294967293 <  1 = False
-4294967293 <  2 = False
-4294967293 <  3 = False
+-3 <  -3 = False
+-3 <  -2 = True
+-3 <  -1 = True
+-3 <  0 = True
+-3 <  1 = True
+-3 <  2 = True
+-3 <  3 = True
  
-4294967294 <  4294967293 = False
-4294967294 <  4294967294 = False
-4294967294 <  4294967295 = True
-4294967294 <  0 = False
-4294967294 <  1 = False
-4294967294 <  2 = False
-4294967294 <  3 = False
+-2 <  -3 = False
+-2 <  -2 = False
+-2 <  -1 = True
+-2 <  0 = True
+-2 <  1 = True
+-2 <  2 = True
+-2 <  3 = True
  
-4294967295 <  4294967293 = False
-4294967295 <  4294967294 = False
-4294967295 <  4294967295 = False
-4294967295 <  0 = False
-4294967295 <  1 = False
-4294967295 <  2 = False
-4294967295 <  3 = False
+-1 <  -3 = False
+-1 <  -2 = False
+-1 <  -1 = False
+-1 <  0 = True
+-1 <  1 = True
+-1 <  2 = True
+-1 <  3 = True
  
-0 <  4294967293 = True
-0 <  4294967294 = True
-0 <  4294967295 = True
+0 <  -3 = False
+0 <  -2 = False
+0 <  -1 = False
 0 <  0 = False
 0 <  1 = True
 0 <  2 = True
 0 <  3 = True
  
-1 <  4294967293 = True
-1 <  4294967294 = True
-1 <  4294967295 = True
+1 <  -3 = False
+1 <  -2 = False
+1 <  -1 = False
 1 <  0 = False
 1 <  1 = False
 1 <  2 = True
 1 <  3 = True
  
-2 <  4294967293 = True
-2 <  4294967294 = True
-2 <  4294967295 = True
+2 <  -3 = False
+2 <  -2 = False
+2 <  -1 = False
 2 <  0 = False
 2 <  1 = False
 2 <  2 = False
 2 <  3 = True
  
-3 <  4294967293 = True
-3 <  4294967294 = True
-3 <  4294967295 = True
+3 <  -3 = False
+3 <  -2 = False
+3 <  -1 = False
 3 <  0 = False
 3 <  1 = False
 3 <  2 = False
 3 <  3 = False
  
-#
-4294967293 >  4294967293 = False
-4294967293 >  4294967294 = False
-4294967293 >  4294967295 = False
-4294967293 >  0 = True
-4294967293 >  1 = True
-4294967293 >  2 = True
-4294967293 >  3 = True
+#
+-3 >  -3 = False
+-3 >  -2 = False
+-3 >  -1 = False
+-3 >  0 = False
+-3 >  1 = False
+-3 >  2 = False
+-3 >  3 = False
  
-4294967294 >  4294967293 = True
-4294967294 >  4294967294 = False
-4294967294 >  4294967295 = False
-4294967294 >  0 = True
-4294967294 >  1 = True
-4294967294 >  2 = True
-4294967294 >  3 = True
+-2 >  -3 = True
+-2 >  -2 = False
+-2 >  -1 = False
+-2 >  0 = False
+-2 >  1 = False
+-2 >  2 = False
+-2 >  3 = False
  
-4294967295 >  4294967293 = True
-4294967295 >  4294967294 = True
-4294967295 >  4294967295 = False
-4294967295 >  0 = True
-4294967295 >  1 = True
-4294967295 >  2 = True
-4294967295 >  3 = True
+-1 >  -3 = True
+-1 >  -2 = True
+-1 >  -1 = False
+-1 >  0 = False
+-1 >  1 = False
+-1 >  2 = False
+-1 >  3 = False
  
-0 >  4294967293 = False
-0 >  4294967294 = False
-0 >  4294967295 = False
+0 >  -3 = True
+0 >  -2 = True
+0 >  -1 = True
 0 >  0 = False
 0 >  1 = False
 0 >  2 = False
 0 >  3 = False
  
-1 >  4294967293 = False
-1 >  4294967294 = False
-1 >  4294967295 = False
+1 >  -3 = True
+1 >  -2 = True
+1 >  -1 = True
 1 >  0 = True
 1 >  1 = False
 1 >  2 = False
 1 >  3 = False
  
-2 >  4294967293 = False
-2 >  4294967294 = False
-2 >  4294967295 = False
+2 >  -3 = True
+2 >  -2 = True
+2 >  -1 = True
 2 >  0 = True
 2 >  1 = True
 2 >  2 = False
 2 >  3 = False
  
-3 >  4294967293 = False
-3 >  4294967294 = False
-3 >  4294967295 = False
+3 >  -3 = True
+3 >  -2 = True
+3 >  -1 = True
 3 >  0 = True
 3 >  1 = True
 3 >  2 = True
 3 >  3 = False
  
 #
-4294967293 >= 4294967293 = True
-4294967293 >= 4294967294 = False
-4294967293 >= 4294967295 = False
-4294967293 >= 0 = True
-4294967293 >= 1 = True
-4294967293 >= 2 = True
-4294967293 >= 3 = True
+-3 >= -3 = True
+-3 >= -2 = False
+-3 >= -1 = False
+-3 >= 0 = False
+-3 >= 1 = False
+-3 >= 2 = False
+-3 >= 3 = False
  
-4294967294 >= 4294967293 = True
-4294967294 >= 4294967294 = True
-4294967294 >= 4294967295 = False
-4294967294 >= 0 = True
-4294967294 >= 1 = True
-4294967294 >= 2 = True
-4294967294 >= 3 = True
+-2 >= -3 = True
+-2 >= -2 = True
+-2 >= -1 = False
+-2 >= 0 = False
+-2 >= 1 = False
+-2 >= 2 = False
+-2 >= 3 = False
  
-4294967295 >= 4294967293 = True
-4294967295 >= 4294967294 = True
-4294967295 >= 4294967295 = True
-4294967295 >= 0 = True
-4294967295 >= 1 = True
-4294967295 >= 2 = True
-4294967295 >= 3 = True
+-1 >= -3 = True
+-1 >= -2 = True
+-1 >= -1 = True
+-1 >= 0 = False
+-1 >= 1 = False
+-1 >= 2 = False
+-1 >= 3 = False
  
-0 >= 4294967293 = False
-0 >= 4294967294 = False
-0 >= 4294967295 = False
+0 >= -3 = True
+0 >= -2 = True
+0 >= -1 = True
 0 >= 0 = True
 0 >= 1 = False
 0 >= 2 = False
 0 >= 3 = False
  
-1 >= 4294967293 = False
-1 >= 4294967294 = False
-1 >= 4294967295 = False
+1 >= -3 = True
+1 >= -2 = True
+1 >= -1 = True
 1 >= 0 = True
 1 >= 1 = True
 1 >= 2 = False
 1 >= 3 = False
  
-2 >= 4294967293 = False
-2 >= 4294967294 = False
-2 >= 4294967295 = False
+2 >= -3 = True
+2 >= -2 = True
+2 >= -1 = True
 2 >= 0 = True
 2 >= 1 = True
 2 >= 2 = True
 2 >= 3 = False
  
-3 >= 4294967293 = False
-3 >= 4294967294 = False
-3 >= 4294967295 = False
+3 >= -3 = True
+3 >= -2 = True
+3 >= -1 = True
 3 >= 0 = True
 3 >= 1 = True
 3 >= 2 = True
 3 >= 3 = True
  
 #
-4294967293 `compare` 4294967293 = EQ
-4294967293 `compare` 4294967294 = LT
-4294967293 `compare` 4294967295 = LT
-4294967293 `compare` 0 = GT
-4294967293 `compare` 1 = GT
-4294967293 `compare` 2 = GT
-4294967293 `compare` 3 = GT
+-3 `compare` -3 = EQ
+-3 `compare` -2 = LT
+-3 `compare` -1 = LT
+-3 `compare` 0 = LT
+-3 `compare` 1 = LT
+-3 `compare` 2 = LT
+-3 `compare` 3 = LT
  
-4294967294 `compare` 4294967293 = GT
-4294967294 `compare` 4294967294 = EQ
-4294967294 `compare` 4294967295 = LT
-4294967294 `compare` 0 = GT
-4294967294 `compare` 1 = GT
-4294967294 `compare` 2 = GT
-4294967294 `compare` 3 = GT
+-2 `compare` -3 = GT
+-2 `compare` -2 = EQ
+-2 `compare` -1 = LT
+-2 `compare` 0 = LT
+-2 `compare` 1 = LT
+-2 `compare` 2 = LT
+-2 `compare` 3 = LT
  
-4294967295 `compare` 4294967293 = GT
-4294967295 `compare` 4294967294 = GT
-4294967295 `compare` 4294967295 = EQ
-4294967295 `compare` 0 = GT
-4294967295 `compare` 1 = GT
-4294967295 `compare` 2 = GT
-4294967295 `compare` 3 = GT
+-1 `compare` -3 = GT
+-1 `compare` -2 = GT
+-1 `compare` -1 = EQ
+-1 `compare` 0 = LT
+-1 `compare` 1 = LT
+-1 `compare` 2 = LT
+-1 `compare` 3 = LT
  
-0 `compare` 4294967293 = LT
-0 `compare` 4294967294 = LT
-0 `compare` 4294967295 = LT
+0 `compare` -3 = GT
+0 `compare` -2 = GT
+0 `compare` -1 = GT
 0 `compare` 0 = EQ
 0 `compare` 1 = LT
 0 `compare` 2 = LT
 0 `compare` 3 = LT
  
-1 `compare` 4294967293 = LT
-1 `compare` 4294967294 = LT
-1 `compare` 4294967295 = LT
+1 `compare` -3 = GT
+1 `compare` -2 = GT
+1 `compare` -1 = GT
 1 `compare` 0 = GT
 1 `compare` 1 = EQ
 1 `compare` 2 = LT
 1 `compare` 3 = LT
  
-2 `compare` 4294967293 = LT
-2 `compare` 4294967294 = LT
-2 `compare` 4294967295 = LT
+2 `compare` -3 = GT
+2 `compare` -2 = GT
+2 `compare` -1 = GT
 2 `compare` 0 = GT
 2 `compare` 1 = GT
 2 `compare` 2 = EQ
 2 `compare` 3 = LT
  
-3 `compare` 4294967293 = LT
-3 `compare` 4294967294 = LT
-3 `compare` 4294967295 = LT
+3 `compare` -3 = GT
+3 `compare` -2 = GT
+3 `compare` -1 = GT
 3 `compare` 0 = GT
 3 `compare` 1 = GT
 3 `compare` 2 = GT
@@ -7029,713 +9716,763 @@ testOrd
  
 #
 testNum
-4294967293 + 4294967293 = 4294967290
-4294967293 + 4294967294 = 4294967291
-4294967293 + 4294967295 = 4294967292
-4294967293 + 0 = 4294967293
-4294967293 + 1 = 4294967294
-4294967293 + 2 = 4294967295
-4294967293 + 3 = 0
+-3 + -3 = -6
+-3 + -2 = -5
+-3 + -1 = -4
+-3 + 0 = -3
+-3 + 1 = -2
+-3 + 2 = -1
+-3 + 3 = 0
  
-4294967294 + 4294967293 = 4294967291
-4294967294 + 4294967294 = 4294967292
-4294967294 + 4294967295 = 4294967293
-4294967294 + 0 = 4294967294
-4294967294 + 1 = 4294967295
-4294967294 + 2 = 0
-4294967294 + 3 = 1
+-2 + -3 = -5
+-2 + -2 = -4
+-2 + -1 = -3
+-2 + 0 = -2
+-2 + 1 = -1
+-2 + 2 = 0
+-2 + 3 = 1
  
-4294967295 + 4294967293 = 4294967292
-4294967295 + 4294967294 = 4294967293
-4294967295 + 4294967295 = 4294967294
-4294967295 + 0 = 4294967295
-4294967295 + 1 = 0
-4294967295 + 2 = 1
-4294967295 + 3 = 2
+-1 + -3 = -4
+-1 + -2 = -3
+-1 + -1 = -2
+-1 + 0 = -1
+-1 + 1 = 0
+-1 + 2 = 1
+-1 + 3 = 2
  
-0 + 4294967293 = 4294967293
-0 + 4294967294 = 4294967294
-0 + 4294967295 = 4294967295
+0 + -3 = -3
+0 + -2 = -2
+0 + -1 = -1
 0 + 0 = 0
 0 + 1 = 1
 0 + 2 = 2
 0 + 3 = 3
  
-1 + 4294967293 = 4294967294
-1 + 4294967294 = 4294967295
-1 + 4294967295 = 0
+1 + -3 = -2
+1 + -2 = -1
+1 + -1 = 0
 1 + 0 = 1
 1 + 1 = 2
 1 + 2 = 3
 1 + 3 = 4
  
-2 + 4294967293 = 4294967295
-2 + 4294967294 = 0
-2 + 4294967295 = 1
+2 + -3 = -1
+2 + -2 = 0
+2 + -1 = 1
 2 + 0 = 2
 2 + 1 = 3
 2 + 2 = 4
 2 + 3 = 5
-3 + 4294967293 = 0
-3 + 4294967294 = 1
-3 + 4294967295 = 2
+3 + -3 = 0
+3 + -2 = 1
+3 + -1 = 2
 3 + 0 = 3
 3 + 1 = 4
 3 + 2 = 5
 3 + 3 = 6
  
 #
-4294967293 - 4294967293 = 0
-4294967293 - 4294967294 = 4294967295
-4294967293 - 4294967295 = 4294967294
-4294967293 - 0 = 4294967293
-4294967293 - 1 = 4294967292
-4294967293 - 2 = 4294967291
-4294967293 - 3 = 4294967290
+-3 - -3 = 0
+-3 - -2 = -1
+-3 - -1 = -2
+-3 - 0 = -3
+-3 - 1 = -4
+-3 - 2 = -5
+-3 - 3 = -6
  
-4294967294 - 4294967293 = 1
-4294967294 - 4294967294 = 0
-4294967294 - 4294967295 = 4294967295
-4294967294 - 0 = 4294967294
-4294967294 - 1 = 4294967293
-4294967294 - 2 = 4294967292
-4294967294 - 3 = 4294967291
+-2 - -3 = 1
+-2 - -2 = 0
+-2 - -1 = -1
+-2 - 0 = -2
+-2 - 1 = -3
+-2 - 2 = -4
+-2 - 3 = -5
  
-4294967295 - 4294967293 = 2
-4294967295 - 4294967294 = 1
-4294967295 - 4294967295 = 0
-4294967295 - 0 = 4294967295
-4294967295 - 1 = 4294967294
-4294967295 - 2 = 4294967293
-4294967295 - 3 = 4294967292
+-1 - -3 = 2
+-1 - -2 = 1
+-1 - -1 = 0
+-1 - 0 = -1
+-1 - 1 = -2
+-1 - 2 = -3
+-1 - 3 = -4
  
-0 - 4294967293 = 3
-0 - 4294967294 = 2
-0 - 4294967295 = 1
+0 - -3 = 3
+0 - -2 = 2
+0 - -1 = 1
 0 - 0 = 0
-0 - 1 = 4294967295
-0 - 2 = 4294967294
-0 - 3 = 4294967293
+0 - 1 = -1
+0 - 2 = -2
+0 - 3 = -3
  
-1 - 4294967293 = 4
-1 - 4294967294 = 3
-1 - 4294967295 = 2
+1 - -3 = 4
+1 - -2 = 3
+1 - -1 = 2
 1 - 0 = 1
 1 - 1 = 0
-1 - 2 = 4294967295
-1 - 3 = 4294967294
+1 - 2 = -1
+1 - 3 = -2
  
-2 - 4294967293 = 5
-2 - 4294967294 = 4
-2 - 4294967295 = 3
+2 - -3 = 5
+2 - -2 = 4
+2 - -1 = 3
 2 - 0 = 2
 2 - 1 = 1
 2 - 2 = 0
-2 - 3 = 4294967295
+2 - 3 = -1
  
-3 - 4294967293 = 6
-3 - 4294967294 = 5
-3 - 4294967295 = 4
+3 - -3 = 6
+3 - -2 = 5
+3 - -1 = 4
 3 - 0 = 3
 3 - 1 = 2
 3 - 2 = 1
 3 - 3 = 0
  
 #
-4294967293 * 4294967293 = 9
-4294967293 * 4294967294 = 6
-4294967293 * 4294967295 = 3
-4294967293 * 0 = 0
-4294967293 * 1 = 4294967293
-4294967293 * 2 = 4294967290
-4294967293 * 3 = 4294967287
+-3 * -3 = 9
+-3 * -2 = 6
+-3 * -1 = 3
+-3 * 0 = 0
+-3 * 1 = -3
+-3 * 2 = -6
+-3 * 3 = -9
  
-4294967294 * 4294967293 = 6
-4294967294 * 4294967294 = 4
-4294967294 * 4294967295 = 2
-4294967294 * 0 = 0
-4294967294 * 1 = 4294967294
-4294967294 * 2 = 4294967292
-4294967294 * 3 = 4294967290
+-2 * -3 = 6
+-2 * -2 = 4
+-2 * -1 = 2
+-2 * 0 = 0
+-2 * 1 = -2
+-2 * 2 = -4
+-2 * 3 = -6
  
-4294967295 * 4294967293 = 3
-4294967295 * 4294967294 = 2
-4294967295 * 4294967295 = 1
-4294967295 * 0 = 0
-4294967295 * 1 = 4294967295
-4294967295 * 2 = 4294967294
-4294967295 * 3 = 4294967293
+-1 * -3 = 3
+-1 * -2 = 2
+-1 * -1 = 1
+-1 * 0 = 0
+-1 * 1 = -1
+-1 * 2 = -2
+-1 * 3 = -3
  
-0 * 4294967293 = 0
-0 * 4294967294 = 0
-0 * 4294967295 = 0
+0 * -3 = 0
+0 * -2 = 0
+0 * -1 = 0
 0 * 0 = 0
 0 * 1 = 0
 0 * 2 = 0
 0 * 3 = 0
  
-1 * 4294967293 = 4294967293
-1 * 4294967294 = 4294967294
-1 * 4294967295 = 4294967295
+1 * -3 = -3
+1 * -2 = -2
+1 * -1 = -1
 1 * 0 = 0
 1 * 1 = 1
 1 * 2 = 2
 1 * 3 = 3
  
-2 * 4294967293 = 4294967290
-2 * 4294967294 = 4294967292
-2 * 4294967295 = 4294967294
+2 * -3 = -6
+2 * -2 = -4
+2 * -1 = -2
 2 * 0 = 0
 2 * 1 = 2
 2 * 2 = 4
 2 * 3 = 6
  
-3 * 4294967293 = 4294967287
-3 * 4294967294 = 4294967290
-3 * 4294967295 = 4294967293
+3 * -3 = -9
+3 * -2 = -6
+3 * -1 = -3
 3 * 0 = 0
 3 * 1 = 3
 3 * 2 = 6
 3 * 3 = 9
  
 #
-negate 4294967293 = 3
-negate 4294967294 = 2
-negate 4294967295 = 1
+negate -3 = 3
+negate -2 = 2
+negate -1 = 1
 negate 0 = 0
-negate 1 = 4294967295
-negate 2 = 4294967294
-negate 3 = 4294967293
+negate 1 = -1
+negate 2 = -2
+negate 3 = -3
 #
 testReal
-toRational 4294967293 = 4294967293 % 1
-toRational 4294967294 = 4294967294 % 1
-toRational 4294967295 = 4294967295 % 1
+toRational -3 = -3 % 1
+toRational -2 = -2 % 1
+toRational -1 = -1 % 1
 toRational 0 = 0 % 1
 toRational 1 = 1 % 1
 toRational 2 = 2 % 1
 toRational 3 = 3 % 1
 #
 testIntegral
-4294967293 `divMod`  4294967293 = (1, 0)
-4294967293 `divMod`  4294967294 = (0, 4294967293)
-4294967293 `divMod`  4294967295 = (0, 4294967293)
-4294967293 `divMod`  1 = (4294967293, 0)
-4294967293 `divMod`  2 = (2147483646, 1)
-4294967293 `divMod`  3 = (1431655764, 1)
-4294967294 `divMod`  4294967293 = (1, 1)
-4294967294 `divMod`  4294967294 = (1, 0)
-4294967294 `divMod`  4294967295 = (0, 4294967294)
-4294967294 `divMod`  1 = (4294967294, 0)
-4294967294 `divMod`  2 = (2147483647, 0)
-4294967294 `divMod`  3 = (1431655764, 2)
-4294967295 `divMod`  4294967293 = (1, 2)
-4294967295 `divMod`  4294967294 = (1, 1)
-4294967295 `divMod`  4294967295 = (1, 0)
-4294967295 `divMod`  1 = (4294967295, 0)
-4294967295 `divMod`  2 = (2147483647, 1)
-4294967295 `divMod`  3 = (1431655765, 0)
-0 `divMod`  4294967293 = (0, 0)
-0 `divMod`  4294967294 = (0, 0)
-0 `divMod`  4294967295 = (0, 0)
-0 `divMod`  1 = (0, 0)
-0 `divMod`  2 = (0, 0)
-0 `divMod`  3 = (0, 0)
-1 `divMod`  4294967293 = (0, 1)
-1 `divMod`  4294967294 = (0, 1)
-1 `divMod`  4294967295 = (0, 1)
-1 `divMod`  1 = (1, 0)
-1 `divMod`  2 = (0, 1)
-1 `divMod`  3 = (0, 1)
-2 `divMod`  4294967293 = (0, 2)
-2 `divMod`  4294967294 = (0, 2)
-2 `divMod`  4294967295 = (0, 2)
-2 `divMod`  1 = (2, 0)
-2 `divMod`  2 = (1, 0)
-2 `divMod`  3 = (0, 2)
-3 `divMod`  4294967293 = (0, 3)
-3 `divMod`  4294967294 = (0, 3)
-3 `divMod`  4294967295 = (0, 3)
-3 `divMod`  1 = (3, 0)
-3 `divMod`  2 = (1, 1)
-3 `divMod`  3 = (1, 0)
+-3 `divMod`  -3 = (1,0)
+-3 `divMod`  -2 = (1,-1)
+-3 `divMod`  -1 = (3,0)
+-3 `divMod`  1 = (-3,0)
+-3 `divMod`  2 = (-2,1)
+-3 `divMod`  3 = (-1,0)
+-2 `divMod`  -3 = (0,-2)
+-2 `divMod`  -2 = (1,0)
+-2 `divMod`  -1 = (2,0)
+-2 `divMod`  1 = (-2,0)
+-2 `divMod`  2 = (-1,0)
+-2 `divMod`  3 = (-1,1)
+-1 `divMod`  -3 = (0,-1)
+-1 `divMod`  -2 = (0,-1)
+-1 `divMod`  -1 = (1,0)
+-1 `divMod`  1 = (-1,0)
+-1 `divMod`  2 = (-1,1)
+-1 `divMod`  3 = (-1,2)
+0 `divMod`  -3 = (0,0)
+0 `divMod`  -2 = (0,0)
+0 `divMod`  -1 = (0,0)
+0 `divMod`  1 = (0,0)
+0 `divMod`  2 = (0,0)
+0 `divMod`  3 = (0,0)
+1 `divMod`  -3 = (-1,-2)
+1 `divMod`  -2 = (-1,-1)
+1 `divMod`  -1 = (-1,0)
+1 `divMod`  1 = (1,0)
+1 `divMod`  2 = (0,1)
+1 `divMod`  3 = (0,1)
+2 `divMod`  -3 = (-1,-1)
+2 `divMod`  -2 = (-1,0)
+2 `divMod`  -1 = (-2,0)
+2 `divMod`  1 = (2,0)
+2 `divMod`  2 = (1,0)
+2 `divMod`  3 = (0,2)
+3 `divMod`  -3 = (-1,0)
+3 `divMod`  -2 = (-2,-1)
+3 `divMod`  -1 = (-3,0)
+3 `divMod`  1 = (3,0)
+3 `divMod`  2 = (1,1)
+3 `divMod`  3 = (1,0)
  
 #
-4294967293 `div`     4294967293 = 1
-4294967293 `div`     4294967294 = 0
-4294967293 `div`     4294967295 = 0
-4294967293 `div`     1 = 4294967293
-4294967293 `div`     2 = 2147483646
-4294967293 `div`     3 = 1431655764
+-3 `div`     -3 = 1
+-3 `div`     -2 = 1
+-3 `div`     -1 = 3
+-3 `div`     1 = -3
+-3 `div`     2 = -2
+-3 `div`     3 = -1
  
-4294967294 `div`     4294967293 = 1
-4294967294 `div`     4294967294 = 1
-4294967294 `div`     4294967295 = 0
-4294967294 `div`     1 = 4294967294
-4294967294 `div`     2 = 2147483647
-4294967294 `div`     3 = 1431655764
+-2 `div`     -3 = 0
+-2 `div`     -2 = 1
+-2 `div`     -1 = 2
+-2 `div`     1 = -2
+-2 `div`     2 = -1
+-2 `div`     3 = -1
  
-4294967295 `div`     4294967293 = 1
-4294967295 `div`     4294967294 = 1
-4294967295 `div`     4294967295 = 1
-4294967295 `div`     1 = 4294967295
-4294967295 `div`     2 = 2147483647
-4294967295 `div`     3 = 1431655765
+-1 `div`     -3 = 0
+-1 `div`     -2 = 0
+-1 `div`     -1 = 1
+-1 `div`     1 = -1
+-1 `div`     2 = -1
+-1 `div`     3 = -1
  
-0 `div`     4294967293 = 0
-0 `div`     4294967294 = 0
-0 `div`     4294967295 = 0
+0 `div`     -3 = 0
+0 `div`     -2 = 0
+0 `div`     -1 = 0
 0 `div`     1 = 0
 0 `div`     2 = 0
 0 `div`     3 = 0
  
-1 `div`     4294967293 = 0
-1 `div`     4294967294 = 0
-1 `div`     4294967295 = 0
+1 `div`     -3 = -1
+1 `div`     -2 = -1
+1 `div`     -1 = -1
 1 `div`     1 = 1
 1 `div`     2 = 0
 1 `div`     3 = 0
  
-2 `div`     4294967293 = 0
-2 `div`     4294967294 = 0
-2 `div`     4294967295 = 0
+2 `div`     -3 = -1
+2 `div`     -2 = -1
+2 `div`     -1 = -2
 2 `div`     1 = 2
 2 `div`     2 = 1
 2 `div`     3 = 0
  
-3 `div`     4294967293 = 0
-3 `div`     4294967294 = 0
-3 `div`     4294967295 = 0
+3 `div`     -3 = -1
+3 `div`     -2 = -2
+3 `div`     -1 = -3
 3 `div`     1 = 3
 3 `div`     2 = 1
 3 `div`     3 = 1
  
 #
-4294967293 `mod`     4294967293 = 0
-4294967293 `mod`     4294967294 = 4294967293
-4294967293 `mod`     4294967295 = 4294967293
-4294967293 `mod`     1 = 0
-4294967293 `mod`     2 = 1
-4294967293 `mod`     3 = 1
+-3 `mod`     -3 = 0
+-3 `mod`     -2 = -1
+-3 `mod`     -1 = 0
+-3 `mod`     1 = 0
+-3 `mod`     2 = 1
+-3 `mod`     3 = 0
  
-4294967294 `mod`     4294967293 = 1
-4294967294 `mod`     4294967294 = 0
-4294967294 `mod`     4294967295 = 4294967294
-4294967294 `mod`     1 = 0
-4294967294 `mod`     2 = 0
-4294967294 `mod`     3 = 2
+-2 `mod`     -3 = -2
+-2 `mod`     -2 = 0
+-2 `mod`     -1 = 0
+-2 `mod`     1 = 0
+-2 `mod`     2 = 0
+-2 `mod`     3 = 1
  
-4294967295 `mod`     4294967293 = 2
-4294967295 `mod`     4294967294 = 1
-4294967295 `mod`     4294967295 = 0
-4294967295 `mod`     1 = 0
-4294967295 `mod`     2 = 1
-4294967295 `mod`     3 = 0
+-1 `mod`     -3 = -1
+-1 `mod`     -2 = -1
+-1 `mod`     -1 = 0
+-1 `mod`     1 = 0
+-1 `mod`     2 = 1
+-1 `mod`     3 = 2
  
-0 `mod`     4294967293 = 0
-0 `mod`     4294967294 = 0
-0 `mod`     4294967295 = 0
+0 `mod`     -3 = 0
+0 `mod`     -2 = 0
+0 `mod`     -1 = 0
 0 `mod`     1 = 0
 0 `mod`     2 = 0
 0 `mod`     3 = 0
  
-1 `mod`     4294967293 = 1
-1 `mod`     4294967294 = 1
-1 `mod`     4294967295 = 1
+1 `mod`     -3 = -2
+1 `mod`     -2 = -1
+1 `mod`     -1 = 0
 1 `mod`     1 = 0
 1 `mod`     2 = 1
 1 `mod`     3 = 1
  
-2 `mod`     4294967293 = 2
-2 `mod`     4294967294 = 2
-2 `mod`     4294967295 = 2
+2 `mod`     -3 = -1
+2 `mod`     -2 = 0
+2 `mod`     -1 = 0
 2 `mod`     1 = 0
 2 `mod`     2 = 0
 2 `mod`     3 = 2
  
-3 `mod`     4294967293 = 3
-3 `mod`     4294967294 = 3
-3 `mod`     4294967295 = 3
+3 `mod`     -3 = 0
+3 `mod`     -2 = -1
+3 `mod`     -1 = 0
 3 `mod`     1 = 0
 3 `mod`     2 = 1
 3 `mod`     3 = 0
  
 #
-4294967293 `quotRem` 4294967293 = (1, 0)
-4294967293 `quotRem` 4294967294 = (0, 4294967293)
-4294967293 `quotRem` 4294967295 = (0, 4294967293)
-4294967293 `quotRem` 1 = (4294967293, 0)
-4294967293 `quotRem` 2 = (2147483646, 1)
-4294967293 `quotRem` 3 = (1431655764, 1)
-4294967294 `quotRem` 4294967293 = (1, 1)
-4294967294 `quotRem` 4294967294 = (1, 0)
-4294967294 `quotRem` 4294967295 = (0, 4294967294)
-4294967294 `quotRem` 1 = (4294967294, 0)
-4294967294 `quotRem` 2 = (2147483647, 0)
-4294967294 `quotRem` 3 = (1431655764, 2)
-4294967295 `quotRem` 4294967293 = (1, 2)
-4294967295 `quotRem` 4294967294 = (1, 1)
-4294967295 `quotRem` 4294967295 = (1, 0)
-4294967295 `quotRem` 1 = (4294967295, 0)
-4294967295 `quotRem` 2 = (2147483647, 1)
-4294967295 `quotRem` 3 = (1431655765, 0)
-0 `quotRem` 4294967293 = (0, 0)
-0 `quotRem` 4294967294 = (0, 0)
-0 `quotRem` 4294967295 = (0, 0)
-0 `quotRem` 1 = (0, 0)
-0 `quotRem` 2 = (0, 0)
-0 `quotRem` 3 = (0, 0)
-1 `quotRem` 4294967293 = (0, 1)
-1 `quotRem` 4294967294 = (0, 1)
-1 `quotRem` 4294967295 = (0, 1)
-1 `quotRem` 1 = (1, 0)
-1 `quotRem` 2 = (0, 1)
-1 `quotRem` 3 = (0, 1)
-2 `quotRem` 4294967293 = (0, 2)
-2 `quotRem` 4294967294 = (0, 2)
-2 `quotRem` 4294967295 = (0, 2)
-2 `quotRem` 1 = (2, 0)
-2 `quotRem` 2 = (1, 0)
-2 `quotRem` 3 = (0, 2)
-3 `quotRem` 4294967293 = (0, 3)
-3 `quotRem` 4294967294 = (0, 3)
-3 `quotRem` 4294967295 = (0, 3)
-3 `quotRem` 1 = (3, 0)
-3 `quotRem` 2 = (1, 1)
-3 `quotRem` 3 = (1, 0)
+-3 `quotRem` -3 = (1,0)
+-3 `quotRem` -2 = (1,-1)
+-3 `quotRem` -1 = (3,0)
+-3 `quotRem` 1 = (-3,0)
+-3 `quotRem` 2 = (-1,-1)
+-3 `quotRem` 3 = (-1,0)
+-2 `quotRem` -3 = (0,-2)
+-2 `quotRem` -2 = (1,0)
+-2 `quotRem` -1 = (2,0)
+-2 `quotRem` 1 = (-2,0)
+-2 `quotRem` 2 = (-1,0)
+-2 `quotRem` 3 = (0,-2)
+-1 `quotRem` -3 = (0,-1)
+-1 `quotRem` -2 = (0,-1)
+-1 `quotRem` -1 = (1,0)
+-1 `quotRem` 1 = (-1,0)
+-1 `quotRem` 2 = (0,-1)
+-1 `quotRem` 3 = (0,-1)
+0 `quotRem` -3 = (0,0)
+0 `quotRem` -2 = (0,0)
+0 `quotRem` -1 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+1 `quotRem` -3 = (0,1)
+1 `quotRem` -2 = (0,1)
+1 `quotRem` -1 = (-1,0)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+2 `quotRem` -3 = (0,2)
+2 `quotRem` -2 = (-1,0)
+2 `quotRem` -1 = (-2,0)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+3 `quotRem` -3 = (-1,0)
+3 `quotRem` -2 = (-1,1)
+3 `quotRem` -1 = (-3,0)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
  
 #
-4294967293 `quot`    4294967293 = 1
-4294967293 `quot`    4294967294 = 0
-4294967293 `quot`    4294967295 = 0
-4294967293 `quot`    1 = 4294967293
-4294967293 `quot`    2 = 2147483646
-4294967293 `quot`    3 = 1431655764
+-3 `quot`    -3 = 1
+-3 `quot`    -2 = 1
+-3 `quot`    -1 = 3
+-3 `quot`    1 = -3
+-3 `quot`    2 = -1
+-3 `quot`    3 = -1
  
-4294967294 `quot`    4294967293 = 1
-4294967294 `quot`    4294967294 = 1
-4294967294 `quot`    4294967295 = 0
-4294967294 `quot`    1 = 4294967294
-4294967294 `quot`    2 = 2147483647
-4294967294 `quot`    3 = 1431655764
+-2 `quot`    -3 = 0
+-2 `quot`    -2 = 1
+-2 `quot`    -1 = 2
+-2 `quot`    1 = -2
+-2 `quot`    2 = -1
+-2 `quot`    3 = 0
  
-4294967295 `quot`    4294967293 = 1
-4294967295 `quot`    4294967294 = 1
-4294967295 `quot`    4294967295 = 1
-4294967295 `quot`    1 = 4294967295
-4294967295 `quot`    2 = 2147483647
-4294967295 `quot`    3 = 1431655765
+-1 `quot`    -3 = 0
+-1 `quot`    -2 = 0
+-1 `quot`    -1 = 1
+-1 `quot`    1 = -1
+-1 `quot`    2 = 0
+-1 `quot`    3 = 0
  
-0 `quot`    4294967293 = 0
-0 `quot`    4294967294 = 0
-0 `quot`    4294967295 = 0
+0 `quot`    -3 = 0
+0 `quot`    -2 = 0
+0 `quot`    -1 = 0
 0 `quot`    1 = 0
 0 `quot`    2 = 0
 0 `quot`    3 = 0
  
-1 `quot`    4294967293 = 0
-1 `quot`    4294967294 = 0
-1 `quot`    4294967295 = 0
+1 `quot`    -3 = 0
+1 `quot`    -2 = 0
+1 `quot`    -1 = -1
 1 `quot`    1 = 1
 1 `quot`    2 = 0
 1 `quot`    3 = 0
  
-2 `quot`    4294967293 = 0
-2 `quot`    4294967294 = 0
-2 `quot`    4294967295 = 0
+2 `quot`    -3 = 0
+2 `quot`    -2 = -1
+2 `quot`    -1 = -2
 2 `quot`    1 = 2
 2 `quot`    2 = 1
 2 `quot`    3 = 0
  
-3 `quot`    4294967293 = 0
-3 `quot`    4294967294 = 0
-3 `quot`    4294967295 = 0
+3 `quot`    -3 = -1
+3 `quot`    -2 = -1
+3 `quot`    -1 = -3
 3 `quot`    1 = 3
 3 `quot`    2 = 1
 3 `quot`    3 = 1
  
 #
-4294967293 `rem`     4294967293 = 0
-4294967293 `rem`     4294967294 = 4294967293
-4294967293 `rem`     4294967295 = 4294967293
-4294967293 `rem`     1 = 0
-4294967293 `rem`     2 = 1
-4294967293 `rem`     3 = 1
+-3 `rem`     -3 = 0
+-3 `rem`     -2 = -1
+-3 `rem`     -1 = 0
+-3 `rem`     1 = 0
+-3 `rem`     2 = -1
+-3 `rem`     3 = 0
  
-4294967294 `rem`     4294967293 = 1
-4294967294 `rem`     4294967294 = 0
-4294967294 `rem`     4294967295 = 4294967294
-4294967294 `rem`     1 = 0
-4294967294 `rem`     2 = 0
-4294967294 `rem`     3 = 2
+-2 `rem`     -3 = -2
+-2 `rem`     -2 = 0
+-2 `rem`     -1 = 0
+-2 `rem`     1 = 0
+-2 `rem`     2 = 0
+-2 `rem`     3 = -2
  
-4294967295 `rem`     4294967293 = 2
-4294967295 `rem`     4294967294 = 1
-4294967295 `rem`     4294967295 = 0
-4294967295 `rem`     1 = 0
-4294967295 `rem`     2 = 1
-4294967295 `rem`     3 = 0
+-1 `rem`     -3 = -1
+-1 `rem`     -2 = -1
+-1 `rem`     -1 = 0
+-1 `rem`     1 = 0
+-1 `rem`     2 = -1
+-1 `rem`     3 = -1
  
-0 `rem`     4294967293 = 0
-0 `rem`     4294967294 = 0
-0 `rem`     4294967295 = 0
+0 `rem`     -3 = 0
+0 `rem`     -2 = 0
+0 `rem`     -1 = 0
 0 `rem`     1 = 0
 0 `rem`     2 = 0
 0 `rem`     3 = 0
  
-1 `rem`     4294967293 = 1
-1 `rem`     4294967294 = 1
-1 `rem`     4294967295 = 1
+1 `rem`     -3 = 1
+1 `rem`     -2 = 1
+1 `rem`     -1 = 0
 1 `rem`     1 = 0
 1 `rem`     2 = 1
 1 `rem`     3 = 1
  
-2 `rem`     4294967293 = 2
-2 `rem`     4294967294 = 2
-2 `rem`     4294967295 = 2
+2 `rem`     -3 = 2
+2 `rem`     -2 = 0
+2 `rem`     -1 = 0
 2 `rem`     1 = 0
 2 `rem`     2 = 0
 2 `rem`     3 = 2
  
-3 `rem`     4294967293 = 3
-3 `rem`     4294967294 = 3
-3 `rem`     4294967295 = 3
+3 `rem`     -3 = 0
+3 `rem`     -2 = 1
+3 `rem`     -1 = 0
 3 `rem`     1 = 0
 3 `rem`     2 = 1
 3 `rem`     3 = 0
  
 #
 testBits
-4294967293 .&.   4294967293 = 4294967293
-4294967293 .&.   4294967294 = 4294967292
-4294967293 .&.   4294967295 = 4294967293
-4294967293 .&.   1 = 1
-4294967293 .&.   2 = 0
-4294967293 .&.   3 = 1
+-3 .&.   -3 = -3
+-3 .&.   -2 = -4
+-3 .&.   -1 = -3
+-3 .&.   1 = 1
+-3 .&.   2 = 0
+-3 .&.   3 = 1
  
-4294967294 .&.   4294967293 = 4294967292
-4294967294 .&.   4294967294 = 4294967294
-4294967294 .&.   4294967295 = 4294967294
-4294967294 .&.   1 = 0
-4294967294 .&.   2 = 2
-4294967294 .&.   3 = 2
+-2 .&.   -3 = -4
+-2 .&.   -2 = -2
+-2 .&.   -1 = -2
+-2 .&.   1 = 0
+-2 .&.   2 = 2
+-2 .&.   3 = 2
  
-4294967295 .&.   4294967293 = 4294967293
-4294967295 .&.   4294967294 = 4294967294
-4294967295 .&.   4294967295 = 4294967295
-4294967295 .&.   1 = 1
-4294967295 .&.   2 = 2
-4294967295 .&.   3 = 3
+-1 .&.   -3 = -3
+-1 .&.   -2 = -2
+-1 .&.   -1 = -1
+-1 .&.   1 = 1
+-1 .&.   2 = 2
+-1 .&.   3 = 3
  
-0 .&.   4294967293 = 0
-0 .&.   4294967294 = 0
-0 .&.   4294967295 = 0
+0 .&.   -3 = 0
+0 .&.   -2 = 0
+0 .&.   -1 = 0
 0 .&.   1 = 0
 0 .&.   2 = 0
 0 .&.   3 = 0
  
-1 .&.   4294967293 = 1
-1 .&.   4294967294 = 0
-1 .&.   4294967295 = 1
+1 .&.   -3 = 1
+1 .&.   -2 = 0
+1 .&.   -1 = 1
 1 .&.   1 = 1
 1 .&.   2 = 0
 1 .&.   3 = 1
  
-2 .&.   4294967293 = 0
-2 .&.   4294967294 = 2
-2 .&.   4294967295 = 2
+2 .&.   -3 = 0
+2 .&.   -2 = 2
+2 .&.   -1 = 2
 2 .&.   1 = 0
 2 .&.   2 = 2
 2 .&.   3 = 2
  
-3 .&.   4294967293 = 1
-3 .&.   4294967294 = 2
-3 .&.   4294967295 = 3
+3 .&.   -3 = 1
+3 .&.   -2 = 2
+3 .&.   -1 = 3
 3 .&.   1 = 1
 3 .&.   2 = 2
 3 .&.   3 = 3
  
 #
-4294967293 .|.   4294967293 = 4294967293
-4294967293 .|.   4294967294 = 4294967295
-4294967293 .|.   4294967295 = 4294967295
-4294967293 .|.   1 = 4294967293
-4294967293 .|.   2 = 4294967295
-4294967293 .|.   3 = 4294967295
+-3 .|.   -3 = -3
+-3 .|.   -2 = -1
+-3 .|.   -1 = -1
+-3 .|.   1 = -3
+-3 .|.   2 = -1
+-3 .|.   3 = -1
  
-4294967294 .|.   4294967293 = 4294967295
-4294967294 .|.   4294967294 = 4294967294
-4294967294 .|.   4294967295 = 4294967295
-4294967294 .|.   1 = 4294967295
-4294967294 .|.   2 = 4294967294
-4294967294 .|.   3 = 4294967295
+-2 .|.   -3 = -1
+-2 .|.   -2 = -2
+-2 .|.   -1 = -1
+-2 .|.   1 = -1
+-2 .|.   2 = -2
+-2 .|.   3 = -1
  
-4294967295 .|.   4294967293 = 4294967295
-4294967295 .|.   4294967294 = 4294967295
-4294967295 .|.   4294967295 = 4294967295
-4294967295 .|.   1 = 4294967295
-4294967295 .|.   2 = 4294967295
-4294967295 .|.   3 = 4294967295
+-1 .|.   -3 = -1
+-1 .|.   -2 = -1
+-1 .|.   -1 = -1
+-1 .|.   1 = -1
+-1 .|.   2 = -1
+-1 .|.   3 = -1
  
-0 .|.   4294967293 = 4294967293
-0 .|.   4294967294 = 4294967294
-0 .|.   4294967295 = 4294967295
+0 .|.   -3 = -3
+0 .|.   -2 = -2
+0 .|.   -1 = -1
 0 .|.   1 = 1
 0 .|.   2 = 2
 0 .|.   3 = 3
-1 .|.   4294967293 = 4294967293
-1 .|.   4294967294 = 4294967295
-1 .|.   4294967295 = 4294967295
+1 .|.   -3 = -3
+1 .|.   -2 = -1
+1 .|.   -1 = -1
 1 .|.   1 = 1
 1 .|.   2 = 3
 1 .|.   3 = 3
  
-2 .|.   4294967293 = 4294967295
-2 .|.   4294967294 = 4294967294
-2 .|.   4294967295 = 4294967295
+2 .|.   -3 = -1
+2 .|.   -2 = -2
+2 .|.   -1 = -1
 2 .|.   1 = 3
 2 .|.   2 = 2
 2 .|.   3 = 3
  
-3 .|.   4294967293 = 4294967295
-3 .|.   4294967294 = 4294967295
-3 .|.   4294967295 = 4294967295
+3 .|.   -3 = -1
+3 .|.   -2 = -1
+3 .|.   -1 = -1
 3 .|.   1 = 3
 3 .|.   2 = 3
 3 .|.   3 = 3
  
 #
-4294967293 `xor` 4294967293 = 0
-4294967293 `xor` 4294967294 = 3
-4294967293 `xor` 4294967295 = 2
-4294967293 `xor` 1 = 4294967292
-4294967293 `xor` 2 = 4294967295
-4294967293 `xor` 3 = 4294967294
+-3 `xor` -3 = 0
+-3 `xor` -2 = 3
+-3 `xor` -1 = 2
+-3 `xor` 1 = -4
+-3 `xor` 2 = -1
+-3 `xor` 3 = -2
  
-4294967294 `xor` 4294967293 = 3
-4294967294 `xor` 4294967294 = 0
-4294967294 `xor` 4294967295 = 1
-4294967294 `xor` 1 = 4294967295
-4294967294 `xor` 2 = 4294967292
-4294967294 `xor` 3 = 4294967293
+-2 `xor` -3 = 3
+-2 `xor` -2 = 0
+-2 `xor` -1 = 1
+-2 `xor` 1 = -1
+-2 `xor` 2 = -4
+-2 `xor` 3 = -3
  
-4294967295 `xor` 4294967293 = 2
-4294967295 `xor` 4294967294 = 1
-4294967295 `xor` 4294967295 = 0
-4294967295 `xor` 1 = 4294967294
-4294967295 `xor` 2 = 4294967293
-4294967295 `xor` 3 = 4294967292
+-1 `xor` -3 = 2
+-1 `xor` -2 = 1
+-1 `xor` -1 = 0
+-1 `xor` 1 = -2
+-1 `xor` 2 = -3
+-1 `xor` 3 = -4
  
-0 `xor` 4294967293 = 4294967293
-0 `xor` 4294967294 = 4294967294
-0 `xor` 4294967295 = 4294967295
+0 `xor` -3 = -3
+0 `xor` -2 = -2
+0 `xor` -1 = -1
 0 `xor` 1 = 1
 0 `xor` 2 = 2
 0 `xor` 3 = 3
  
-1 `xor` 4294967293 = 4294967292
-1 `xor` 4294967294 = 4294967295
-1 `xor` 4294967295 = 4294967294
+1 `xor` -3 = -4
+1 `xor` -2 = -1
+1 `xor` -1 = -2
 1 `xor` 1 = 0
 1 `xor` 2 = 3
 1 `xor` 3 = 2
  
-2 `xor` 4294967293 = 4294967295
-2 `xor` 4294967294 = 4294967292
-2 `xor` 4294967295 = 4294967293
+2 `xor` -3 = -1
+2 `xor` -2 = -4
+2 `xor` -1 = -3
 2 `xor` 1 = 3
 2 `xor` 2 = 0
 2 `xor` 3 = 1
  
-3 `xor` 4294967293 = 4294967294
-3 `xor` 4294967294 = 4294967293
-3 `xor` 4294967295 = 4294967292
+3 `xor` -3 = -2
+3 `xor` -2 = -3
+3 `xor` -1 = -4
 3 `xor` 1 = 2
 3 `xor` 2 = 1
 3 `xor` 3 = 0
  
 #
-complement 4294967293 = 2
-complement 4294967294 = 1
-complement 4294967295 = 0
-complement 0 = 4294967295
-complement 1 = 4294967294
-complement 2 = 4294967293
-complement 3 = 4294967292
-#
-4294967293 `shift` 0 = 4294967293
-4294967293 `shift` 1 = 4294967290
-4294967293 `shift` 2 = 4294967284
-4294967293 `shift` 3 = 4294967272
-4294967294 `shift` 0 = 4294967294
-4294967294 `shift` 1 = 4294967292
-4294967294 `shift` 2 = 4294967288
-4294967294 `shift` 3 = 4294967280
-4294967295 `shift` 0 = 4294967295
-4294967295 `shift` 1 = 4294967294
-4294967295 `shift` 2 = 4294967292
-4294967295 `shift` 3 = 4294967288
-0 `shift` 0 = 0
-0 `shift` 1 = 0
-0 `shift` 2 = 0
-0 `shift` 3 = 0
-1 `shift` 0 = 1
-1 `shift` 1 = 2
-1 `shift` 2 = 4
-1 `shift` 3 = 8
-2 `shift` 0 = 2
-2 `shift` 1 = 4
-2 `shift` 2 = 8
-2 `shift` 3 = 16
-3 `shift` 0 = 3
-3 `shift` 1 = 6
-3 `shift` 2 = 12
-3 `shift` 3 = 24
+complement -3 = 2
+complement -2 = 1
+complement -1 = 0
+complement 0 = -1
+complement 1 = -2
+complement 2 = -3
+complement 3 = -4
 #
-4294967293 `rotate` -3 = 3221225471
-4294967293 `rotate` -2 = 2147483647
-4294967293 `rotate` -1 = 4294967294
-4294967293 `rotate` 0 = 4294967293
-4294967293 `rotate` 1 = 4294967291
-4294967293 `rotate` 2 = 4294967287
-4294967293 `rotate` 3 = 4294967279
+-3 `shiftL` 0 = -3
+-3 `shiftL` 1 = -6
+-3 `shiftL` 2 = -12
+-3 `shiftL` 3 = -24
+-3 `shiftL` 32 = -12884901888
+-2 `shiftL` 0 = -2
+-2 `shiftL` 1 = -4
+-2 `shiftL` 2 = -8
+-2 `shiftL` 3 = -16
+-2 `shiftL` 32 = -8589934592
+-1 `shiftL` 0 = -1
+-1 `shiftL` 1 = -2
+-1 `shiftL` 2 = -4
+-1 `shiftL` 3 = -8
+-1 `shiftL` 32 = -4294967296
+0 `shiftL` 0 = 0
+0 `shiftL` 1 = 0
+0 `shiftL` 2 = 0
+0 `shiftL` 3 = 0
+0 `shiftL` 32 = 0
+1 `shiftL` 0 = 1
+1 `shiftL` 1 = 2
+1 `shiftL` 2 = 4
+1 `shiftL` 3 = 8
+1 `shiftL` 32 = 4294967296
+2 `shiftL` 0 = 2
+2 `shiftL` 1 = 4
+2 `shiftL` 2 = 8
+2 `shiftL` 3 = 16
+2 `shiftL` 32 = 8589934592
+3 `shiftL` 0 = 3
+3 `shiftL` 1 = 6
+3 `shiftL` 2 = 12
+3 `shiftL` 3 = 24
+3 `shiftL` 32 = 12884901888
+#
+-3 `shiftR` 0 = -3
+-3 `shiftR` 1 = -2
+-3 `shiftR` 2 = -1
+-3 `shiftR` 3 = -1
+-3 `shiftR` 32 = -1
+-2 `shiftR` 0 = -2
+-2 `shiftR` 1 = -1
+-2 `shiftR` 2 = -1
+-2 `shiftR` 3 = -1
+-2 `shiftR` 32 = -1
+-1 `shiftR` 0 = -1
+-1 `shiftR` 1 = -1
+-1 `shiftR` 2 = -1
+-1 `shiftR` 3 = -1
+-1 `shiftR` 32 = -1
+0 `shiftR` 0 = 0
+0 `shiftR` 1 = 0
+0 `shiftR` 2 = 0
+0 `shiftR` 3 = 0
+0 `shiftR` 32 = 0
+1 `shiftR` 0 = 1
+1 `shiftR` 1 = 0
+1 `shiftR` 2 = 0
+1 `shiftR` 3 = 0
+1 `shiftR` 32 = 0
+2 `shiftR` 0 = 2
+2 `shiftR` 1 = 1
+2 `shiftR` 2 = 0
+2 `shiftR` 3 = 0
+2 `shiftR` 32 = 0
+3 `shiftR` 0 = 3
+3 `shiftR` 1 = 1
+3 `shiftR` 2 = 0
+3 `shiftR` 3 = 0
+3 `shiftR` 32 = 0
+#
+-3 `rotate` -3 = -1
+-3 `rotate` -2 = -1
+-3 `rotate` -1 = -2
+-3 `rotate` 0 = -3
+-3 `rotate` 1 = -6
+-3 `rotate` 2 = -12
+-3 `rotate` 3 = -24
  
-4294967294 `rotate` -3 = 3758096383
-4294967294 `rotate` -2 = 3221225471
-4294967294 `rotate` -1 = 2147483647
-4294967294 `rotate` 0 = 4294967294
-4294967294 `rotate` 1 = 4294967293
-4294967294 `rotate` 2 = 4294967291
-4294967294 `rotate` 3 = 4294967287
+-2 `rotate` -3 = -1
+-2 `rotate` -2 = -1
+-2 `rotate` -1 = -1
+-2 `rotate` 0 = -2
+-2 `rotate` 1 = -4
+-2 `rotate` 2 = -8
+-2 `rotate` 3 = -16
  
-4294967295 `rotate` -3 = 4294967295
-4294967295 `rotate` -2 = 4294967295
-4294967295 `rotate` -1 = 4294967295
-4294967295 `rotate` 0 = 4294967295
-4294967295 `rotate` 1 = 4294967295
-4294967295 `rotate` 2 = 4294967295
-4294967295 `rotate` 3 = 4294967295
+-1 `rotate` -3 = -1
+-1 `rotate` -2 = -1
+-1 `rotate` -1 = -1
+-1 `rotate` 0 = -1
+-1 `rotate` 1 = -2
+-1 `rotate` 2 = -4
+-1 `rotate` 3 = -8
  
 0 `rotate` -3 = 0
 0 `rotate` -2 = 0
@@ -7745,25 +10482,25 @@ complement 3 = 4294967292
 0 `rotate` 2 = 0
 0 `rotate` 3 = 0
  
-1 `rotate` -3 = 536870912
-1 `rotate` -2 = 1073741824
-1 `rotate` -1 = 2147483648
+1 `rotate` -3 = 0
+1 `rotate` -2 = 0
+1 `rotate` -1 = 0
 1 `rotate` 0 = 1
 1 `rotate` 1 = 2
 1 `rotate` 2 = 4
 1 `rotate` 3 = 8
  
-2 `rotate` -3 = 1073741824
-2 `rotate` -2 = 2147483648
+2 `rotate` -3 = 0
+2 `rotate` -2 = 0
 2 `rotate` -1 = 1
 2 `rotate` 0 = 2
 2 `rotate` 1 = 4
 2 `rotate` 2 = 8
 2 `rotate` 3 = 16
  
-3 `rotate` -3 = 1610612736
-3 `rotate` -2 = 3221225472
-3 `rotate` -1 = 2147483649
+3 `rotate` -3 = 0
+3 `rotate` -2 = 0
+3 `rotate` -1 = 1
 3 `rotate` 0 = 3
 3 `rotate` 1 = 6
 3 `rotate` 2 = 12
@@ -7775,164 +10512,183 @@ bit 1 = 2
 bit 2 = 4
 bit 3 = 8
 #
-4294967293 `setBit` 0 = 4294967293
-4294967293 `setBit` 1 = 4294967295
-4294967293 `setBit` 2 = 4294967293
-4294967293 `setBit` 3 = 4294967293
+-3 `setBit` 0 = -3
+-3 `setBit` 1 = -1
+-3 `setBit` 2 = -3
+-3 `setBit` 3 = -3
+-3 `setBit` 32 = -3
  
-4294967294 `setBit` 0 = 4294967295
-4294967294 `setBit` 1 = 4294967294
-4294967294 `setBit` 2 = 4294967294
-4294967294 `setBit` 3 = 4294967294
+-2 `setBit` 0 = -1
+-2 `setBit` 1 = -2
+-2 `setBit` 2 = -2
+-2 `setBit` 3 = -2
+-2 `setBit` 32 = -2
  
-4294967295 `setBit` 0 = 4294967295
-4294967295 `setBit` 1 = 4294967295
-4294967295 `setBit` 2 = 4294967295
-4294967295 `setBit` 3 = 4294967295
+-1 `setBit` 0 = -1
+-1 `setBit` 1 = -1
+-1 `setBit` 2 = -1
+-1 `setBit` 3 = -1
+-1 `setBit` 32 = -1
  
 0 `setBit` 0 = 1
 0 `setBit` 1 = 2
 0 `setBit` 2 = 4
 0 `setBit` 3 = 8
+0 `setBit` 32 = 4294967296
  
 1 `setBit` 0 = 1
 1 `setBit` 1 = 3
 1 `setBit` 2 = 5
 1 `setBit` 3 = 9
+1 `setBit` 32 = 4294967297
  
 2 `setBit` 0 = 3
 2 `setBit` 1 = 2
 2 `setBit` 2 = 6
 2 `setBit` 3 = 10
+2 `setBit` 32 = 4294967298
  
 3 `setBit` 0 = 3
 3 `setBit` 1 = 3
 3 `setBit` 2 = 7
 3 `setBit` 3 = 11
+3 `setBit` 32 = 4294967299
  
 #
-4294967293 `clearBit` 0 = 4294967292
-4294967293 `clearBit` 1 = 4294967293
-4294967293 `clearBit` 2 = 4294967289
-4294967293 `clearBit` 3 = 4294967285
+-3 `clearBit` 0 = -4
+-3 `clearBit` 1 = -3
+-3 `clearBit` 2 = -7
+-3 `clearBit` 3 = -11
+-3 `clearBit` 32 = -4294967299
  
-4294967294 `clearBit` 0 = 4294967294
-4294967294 `clearBit` 1 = 4294967292
-4294967294 `clearBit` 2 = 4294967290
-4294967294 `clearBit` 3 = 4294967286
+-2 `clearBit` 0 = -2
+-2 `clearBit` 1 = -4
+-2 `clearBit` 2 = -6
+-2 `clearBit` 3 = -10
+-2 `clearBit` 32 = -4294967298
  
-4294967295 `clearBit` 0 = 4294967294
-4294967295 `clearBit` 1 = 4294967293
-4294967295 `clearBit` 2 = 4294967291
-4294967295 `clearBit` 3 = 4294967287
+-1 `clearBit` 0 = -2
+-1 `clearBit` 1 = -3
+-1 `clearBit` 2 = -5
+-1 `clearBit` 3 = -9
+-1 `clearBit` 32 = -4294967297
  
 0 `clearBit` 0 = 0
 0 `clearBit` 1 = 0
 0 `clearBit` 2 = 0
 0 `clearBit` 3 = 0
+0 `clearBit` 32 = 0
  
 1 `clearBit` 0 = 0
 1 `clearBit` 1 = 1
 1 `clearBit` 2 = 1
 1 `clearBit` 3 = 1
+1 `clearBit` 32 = 1
  
 2 `clearBit` 0 = 2
 2 `clearBit` 1 = 0
 2 `clearBit` 2 = 2
 2 `clearBit` 3 = 2
+2 `clearBit` 32 = 2
  
 3 `clearBit` 0 = 2
 3 `clearBit` 1 = 1
 3 `clearBit` 2 = 3
 3 `clearBit` 3 = 3
+3 `clearBit` 32 = 3
  
 #
-4294967293 `complementBit` 0 = 4294967292
-4294967293 `complementBit` 1 = 4294967295
-4294967293 `complementBit` 2 = 4294967289
-4294967293 `complementBit` 3 = 4294967285
+-3 `complementBit` 0 = -4
+-3 `complementBit` 1 = -1
+-3 `complementBit` 2 = -7
+-3 `complementBit` 3 = -11
+-3 `complementBit` 32 = -4294967299
  
-4294967294 `complementBit` 0 = 4294967295
-4294967294 `complementBit` 1 = 4294967292
-4294967294 `complementBit` 2 = 4294967290
-4294967294 `complementBit` 3 = 4294967286
+-2 `complementBit` 0 = -1
+-2 `complementBit` 1 = -4
+-2 `complementBit` 2 = -6
+-2 `complementBit` 3 = -10
+-2 `complementBit` 32 = -4294967298
  
-4294967295 `complementBit` 0 = 4294967294
-4294967295 `complementBit` 1 = 4294967293
-4294967295 `complementBit` 2 = 4294967291
-4294967295 `complementBit` 3 = 4294967287
+-1 `complementBit` 0 = -2
+-1 `complementBit` 1 = -3
+-1 `complementBit` 2 = -5
+-1 `complementBit` 3 = -9
+-1 `complementBit` 32 = -4294967297
  
 0 `complementBit` 0 = 1
 0 `complementBit` 1 = 2
 0 `complementBit` 2 = 4
 0 `complementBit` 3 = 8
+0 `complementBit` 32 = 4294967296
  
 1 `complementBit` 0 = 0
 1 `complementBit` 1 = 3
 1 `complementBit` 2 = 5
 1 `complementBit` 3 = 9
+1 `complementBit` 32 = 4294967297
  
 2 `complementBit` 0 = 3
 2 `complementBit` 1 = 0
 2 `complementBit` 2 = 6
 2 `complementBit` 3 = 10
+2 `complementBit` 32 = 4294967298
  
 3 `complementBit` 0 = 2
 3 `complementBit` 1 = 1
 3 `complementBit` 2 = 7
 3 `complementBit` 3 = 11
+3 `complementBit` 32 = 4294967299
  
 #
-4294967293 `testBit` 0 = True
-4294967293 `testBit` 1 = False
-4294967293 `testBit` 2 = True
-4294967293 `testBit` 3 = True
+-3 `testBit` 0 = True
+-3 `testBit` 1 = False
+-3 `testBit` 2 = True
+-3 `testBit` 3 = True
+-3 `testBit` 32 = True
  
-4294967294 `testBit` 0 = False
-4294967294 `testBit` 1 = True
-4294967294 `testBit` 2 = True
-4294967294 `testBit` 3 = True
+-2 `testBit` 0 = False
+-2 `testBit` 1 = True
+-2 `testBit` 2 = True
+-2 `testBit` 3 = True
+-2 `testBit` 32 = True
  
-4294967295 `testBit` 0 = True
-4294967295 `testBit` 1 = True
-4294967295 `testBit` 2 = True
-4294967295 `testBit` 3 = True
+-1 `testBit` 0 = True
+-1 `testBit` 1 = True
+-1 `testBit` 2 = True
+-1 `testBit` 3 = True
+-1 `testBit` 32 = True
  
 0 `testBit` 0 = False
 0 `testBit` 1 = False
 0 `testBit` 2 = False
 0 `testBit` 3 = False
+0 `testBit` 32 = False
  
 1 `testBit` 0 = True
 1 `testBit` 1 = False
 1 `testBit` 2 = False
 1 `testBit` 3 = False
+1 `testBit` 32 = False
  
 2 `testBit` 0 = False
 2 `testBit` 1 = True
 2 `testBit` 2 = False
 2 `testBit` 3 = False
+2 `testBit` 32 = False
  
 3 `testBit` 0 = True
 3 `testBit` 1 = True
 3 `testBit` 2 = False
 3 `testBit` 3 = False
+3 `testBit` 32 = False
  
 #
-bitSize 4294967293 = 32
-bitSize 4294967294 = 32
-bitSize 4294967295 = 32
-bitSize 0 = 32
-bitSize 1 = 32
-bitSize 2 = 32
-bitSize 3 = 32
-#
-isSigned 4294967293 = False
-isSigned 4294967294 = False
-isSigned 4294967295 = False
-isSigned 0 = False
-isSigned 1 = False
-isSigned 2 = False
-isSigned 3 = False
+isSigned -3 = True
+isSigned -2 = True
+isSigned -1 = True
+isSigned 0 = True
+isSigned 1 = True
+isSigned 2 = True
+isSigned 3 = True
 #
---------------------------------