> (define (out-of-range x) (error "out of range" x)) > (define (not-int x) (error "expected an integer" x)) > (cond > ((fixnum? x) > (if (<= -10 x 100) > (* x 2) > (out-of-range x))) > ((bignum? x) > (if (<= -10 x 100) > (* x 2) > (out-of-range x))) > (else > (not-int x)))
Looks a bit like the result of "splitting tails", in this case, tho selectively. Stefan