   show -> undefined
 
   log ''
-  show -> number(98).gcd 21
-  show -> number(77777).gcd 21
-
-  log ''
-  show -> a = number Math.pow 2, 13
+  show -> num(98).gcd 21
+  show -> num(77777).gcd 21
+
+  log ''
+  show -> a = num Math.pow 2, 13
   show -> LongInt.fromNative a.val
   show -> a.plus 2
   show -> a.times 1

  show -> a.plus 2000

  log ''
  show -> number -123456789000000
  show -> number '-1234'
  show -> number '-123456789000000'

  log ''
  show -> number(123456789).plus  876543211
  show -> number(123456789).minus 123450000
  show -> number(123456789).minus 123456790
  show -> number(123456789).minus 123456789
  show -> number(123456789).plus -123450000

  log ''
  show -> number(12345).times 100001
  show -> number(11111).times 9
  show -> number(111).div 37
  show -> number(111111).div 37
  show -> number(111111111).div 37
  show -> number(111111111).div 12345679
  show -> number(99980001).div 49990001
  show -> number(20001).div 10001

  log ''
  show -> number(111).mod 37
  show -> number(111112).mod 37
  show -> number(111111111).mod 12345679

  log ''
  show -> number(9801).sqrt()
  show -> number(998001).sqrt()
  show -> number(99980001).sqrt()

  log ''
  show -> number(10).pow 6
  show -> number(2).pow 16

      if cmp(r, rn) then -> step(rn) else rn
    trampoline step s.take n >> 1

  sqrt__: ->
    if @sign == 0
      asNum 0
    else if @sign > 0
      new LongInt 1, sqrt @digits
    else
      throw new Error "expected a non-negative number, got #{this}"

