   sgn__: -> @numer.sgn()
   inv__: -> Fraction.normalized @denom, @numer
 
-  isPos__: -> @numer.isPos()
-  isNeg__: -> @numer.isNeg()
+  isPos__:  -> @numer.isPos()
+  isNeg__:  -> @numer.isNeg()
   isZero__: -> @numer.isZero()
 
   isEven__: -> @denom.eq(1) and @numer.isEven()
-  isOdd__: -> @denom.eq(1) and @numer.isOdd()
+  isOdd__:  -> @denom.eq(1) and @numer.isOdd()
 
   cmp__: (x) -> @minus__(x).numer.cmp 0
 

        new CheckedInt x.digits.first() * x.sign
      else
        new CheckedInt 0
    else if x instanceof Fraction and x.den.eq(1)
      x.num
    else
      x

        [x, y] = upcast a, b
        downcast x[namex] y

  by__: (other) -> Fraction.normalized this, other

  gcd__: (other) ->
    step = (a, b) -> if b.isPos() then -> step b, a.mod(b) else a
