{-# LANGUAGE ExplicitNamespaces #-} module Equality ( Eq(..) , Equivalence(..) , defaultEquivalence , comparisonEquivalence , Eq1(..) , eq1 , liftEqDefault , Eq2(..) , eq2 -- * Propositional equality , (:~:)(..) , (:~~:)(..) , sym , trans , castWith , gcastWith , apply , inner , outer , TestEquality(..) , type (==) ) where import Data.Eq import Data.Functor.Classes import Data.Functor.Classes.Generic import Data.Functor.Contravariant import Data.Type.Equality