<div dir="ltr"><div><div>I've got a case in a library I'm working on where having -XExtendedDefaultRules with MPTCs would be very, very helpful. Is it possible?<br><br></div>I.e., we can now write:<br><br>```<br>{-# LANGUAGE ExtendedDefaultRules #-}<br><br>data AB = A | B Double deriving (Show)<br><br>class Foo x where<br>   foo :: x -> AB<br><br>instance Foo Double where<br>   foo = B<br><br>main = print $ foo 5<br>```<br><br></div>And -XExtendedDefaultRules makes sure we don't need to write "5 :: Double"<br><div><br><div><div><div><br>If, though, I want 'Foo' to take another parameter (here, a :: [Symbol]), it falls apart:<br><div><br>```<br>{-# LANGUAGE DataKinds #-}<br>{-# LANGUAGE ExtendedDefaultRules #-}<br>{-# LANGUAGE KindSignatures #-}<br>{-# LANGUAGE MultiParamTypeClasses #-}<br><br>import GHC.TypeLits<br><br>data AB = A | B Double deriving (Show)<br><br>class Foo x (a :: [Symbol]) where<br>   foo :: x -> AB<br><br>instance Foo Double a where<br>   foo = B<br><br>main = print $ foo 5<br>```<br><br></div><div>Is there a reason MPTCs can't support ExtendedDefaultRules?<br><br></div><div>Thanks!<br></div><div>Tom<br></div><div><br><br><br><br></div></div></div></div></div></div>