{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingStrategies #-} module T209 where import Data.Singletons.TH $(singletons [d| class C a b where m :: a -> b -> Bool -> Bool m _ _ x = x data Hm = Hm deriving anyclass (C Bool) deriving anyclass instance C a a => C a (Maybe a) |])