{-# LANGUAGE KindSignatures #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE GADTs #-} module IndexEq where -- Stuff copied from Erik's Base data (:=:) :: * -> * -> * where Refl :: a :=: a class Eq_ s where eq_ :: s ix -> s ix' -> Maybe (ix :=: ix')