module TypeLevel.Rewrite.Internal.TypeEq where import Data.Function import GhcPlugins (Type, eqType) -- | A newtype around 'Type' which has an 'Eq' instance. 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