What I said is not true since overlapping instances are not that much decidable.
Btw, in previous versions of GHC this worked well, but now I suppose order does not suffices to define instances overlapping
How could I compile such an example, assuming that I want to use the instance C String for Strings only and the more general instance for the rest?
class C a where
c :: a
instance C Char where
c = 'a'
instance C a => C [a] where
c = [c :: a,c :: a]
instance C String where
c = "a"
cc = c :: String
Sorry for the newbie question.
hugo