diff --git a/Data/Eq/Type.hs b/Data/Eq/Type.hs
--- a/Data/Eq/Type.hs
+++ b/Data/Eq/Type.hs
@@ -45,7 +45,7 @@
 
 -- | Leibnizian equality states that two things are equal if you can 
 -- substite one for the other in all contexts
-data a := b = Refl { subst :: forall c. c a -> c b } 
+data (a :: k) := (b :: k) = Refl { subst :: forall (c :: k -> *). c a -> c b }
 
 -- | Equality is reflexive
 refl :: a := a
diff --git a/eq.cabal b/eq.cabal
--- a/eq.cabal
+++ b/eq.cabal
@@ -1,6 +1,6 @@
 name:          eq
 category:      Type System
-version:       0.3.4.1
+version:       0.3.4.2
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -23,12 +23,12 @@
     Rank2Types
     TypeOperators
 
-  build-depends: 
+  build-depends:
     base >= 4 && < 5,
-    semigroupoids >= 1.2.4 && < 1.3.0,
-    groupoids >= 0.1.1.1 && < 0.2
+    semigroupoids >= 1.2.6.1 && < 1.3.0,
+    groupoids >= 0.1.1.2 && < 0.2
 
   exposed-modules:
     Data.Eq.Type
 
-  ghc-options: -Wall 
+  ghc-options: -Wall
