-- | Type Equality module Test.TypeSpec.Internal.Equality (type EqExtra) where import Data.Type.Equality -- | Operator 'Data.Equality.(==)' expects both arguments to have the -- same kind. type family EqExtra (a :: ak) (b :: bk) :: Bool where EqExtra ('Left x) ('Left y) = EqExtra x y EqExtra ('Right x) ('Right y) = EqExtra x y EqExtra a a = 'True EqExtra (a :: k) (b :: k) = a == b EqExtra a b = 'False