type-extract works better now.

In particular,
(define (id x) x)

(type-extract (id 3))
; (type-interval number any)

(type-extract (id "hello"))
; (type-interval string any)

As opposed to before when the type of (id "hello") would be confused as something like (type-interval (? number string) any).

Really, it should be just number and string.

Also, fib doesn't break. Yay!