diff --git a/src/Topaz/Rec.hs b/src/Topaz/Rec.hs
--- a/src/Topaz/Rec.hs
+++ b/src/Topaz/Rec.hs
@@ -36,14 +36,16 @@
   , fromList
   ) where
 
+import Data.Exists
+import Data.Kind (Type)
 import Prelude hiding (map,zipWith,foldMap,traverse)
 import Topaz.Types (Elem(..),type (++),Rec(..))
-import Data.Exists
+
 import qualified Data.Semigroup as SG
 
 -- | infix RecCons with proper fixity
 infixr 7 <:
-(<:) :: forall a (f :: a -> *) (r :: a) (rs :: [a]).  f r -> Rec f rs -> Rec f (r : rs)
+(<:) :: forall a (f :: a -> Type) (r :: a) (rs :: [a]).  f r -> Rec f rs -> Rec f (r : rs)
 (<:) = RecCons
 
 map :: (forall x. f x -> g x) -> Rec f as -> Rec g as
diff --git a/src/Topaz/Types.hs b/src/Topaz/Types.hs
--- a/src/Topaz/Types.hs
+++ b/src/Topaz/Types.hs
@@ -129,7 +129,7 @@
       RecNil -> s
       RecCons b bs -> go (hashWithSaltForall s b) bs
 
-instance HashableForall f => Hashable (Rec f as) where
+instance (EqForall f, HashableForall f) => Hashable (Rec f as) where
   hashWithSalt = hashWithSaltForall
 
 instance ShowForall f => ShowForall (Rec f) where
diff --git a/topaz.cabal b/topaz.cabal
--- a/topaz.cabal
+++ b/topaz.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.4
 name: topaz
-version: 0.6.0
+version: 0.7.0
 synopsis: Extensible records library
 description: Provides extensible records types built on top of the quantification library
 homepage: https://github.com/andrewthad/quantification#readme
@@ -20,10 +20,10 @@
   build-depends:
     , base >= 4.11.1 && < 5
     , binary >= 0.8 && < 0.11
-    , hashable >= 1.2 && < 1.4
-    , aeson >= 1.0 && < 1.6
+    , hashable >= 1.4 && < 1.5
+    , aeson >= 2.1 && < 2.3
     , vector >= 0.11 && < 0.13
-    , quantification >= 0.6.0
+    , quantification >= 0.7.0
   default-language: Haskell2010
   ghc-options: -O2 -Wall
 
