MK
Size: a a a
MK
MP
MP
MK
MK
MP
AV
AV
AV
MP
AV
R
data D
class C1 a b
class C2 a b
instance C1 a D => C2 a D
newtype N = N D
deriving newtype (C2 a)
data D
class C1 a b
class C2 a b where
c2 :: a -> b
instance C1 a D => C2 a D where
c2 = undefined
newtype N = N D
deriving newtype (C2 a)
C1 a D
arising from the deriving clause of a data type declaration".{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE UndecidableInstances #-}
аа
аа
аа
аа