Refactored making a number inexact as a preparation for inexact
rationals
Refactored (inexact->exact) and (exact->inexact), added support for
inexact rationals