I frequently see one logical mistake turn into many type errors in
ghc. Of course in general one logical mistake to a human and a type
checker can be completely different things, so that's not surprising.
The thing is, I feel like I started seeing more with the upgrade to
ghc 7.6 (or was it 7.4?)
Friends
I've realised that GHC's -XIncoherentInstances flag is, I think,
over-conservative. I propose to liberalise it a bit. This email describes the
issue. Please yell if you think this is a bad idea.
Simon
Suppose we have
class C a where { op :: a - String }
instance C