My exploration into the more unusual and powerful uses of class fundeps
has discovered some curiosities. For instance, consider this:
--
class X a
instance X Bool
instance (Num a) = X a
--
For as long as instance Num Bool is not declared, the two instances do
not de facto overlap. But that's
Ashley Yakeley, Seattle WA, writes:
Is there a point to the monomorphism restriction in GHC and Hugs? In
practice, all it seems to mean is occasionally require unnecessary
explicit type signatures.
I think the point is made clearly enough in section 4.5.5 of the Haskell 98
language report,