{-# LANGUAGE CPP #-}
module TypeLevel.Rewrite.Internal.TypeEq where
import Data.Function
#if MIN_VERSION_ghc(9,0,0)
import GHC.Plugins (Type, eqType)
#else
import GhcPlugins (Type, eqType)
#endif
newtype TypeEq = TypeEq
{ TypeEq -> Type
unTypeEq :: Type
}
instance Eq TypeEq where
== :: TypeEq -> TypeEq -> Bool
(==) = Type -> Type -> Bool
eqType (Type -> Type -> Bool)
-> (TypeEq -> Type) -> TypeEq -> TypeEq -> Bool
forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c
`on` TypeEq -> Type
unTypeEq