reject reading rationals with exponent notation
main = print (1E1000000000 :: Rational)
fails in the same way as for doubles currently. This should not happen at compile time! Therefore I suggest to forbid using the e-notation for rationals, it is not legal for integers either.
(An alternative would be to evaluate the rational only at run-time)