Consider "Read" and "Show" constraints when defaulting
Ord constraints are considered when a numeric constraint is defaulted to
This way, expressions like
read "1.0" :: (Read a, Fractional a) => a cannot be entered in the REPL without getting an error.
To fix this problem,
Show constraints should be handled the same way as
Ord constraints are handled.