Modified to accomodate exact arithmetic types.
(For the moment only rational{BigInt})