diff --git a/numhask-array.cabal b/numhask-array.cabal
--- a/numhask-array.cabal
+++ b/numhask-array.cabal
@@ -1,5 +1,5 @@
 name: numhask-array
-version: 0.5.0.0
+version: 0.5.1
 synopsis:
   n-dimensional arrays
 description:
@@ -53,7 +53,7 @@
     , adjunctions >=4.0 && <5
     , deepseq >=1.4.2.0 && <2
     , distributive >=0.4 && <0.7
-    , numhask >= 0.3.1 && <0.4
+    , numhask >= 0.3.1 && <0.5
     , numhask-prelude >=0.3 && <0.4
     , protolude >=0.2 && <0.3
     , vector >=0.10 && <0.13
diff --git a/src/NumHask/Array/Fixed.hs b/src/NumHask/Array/Fixed.hs
--- a/src/NumHask/Array/Fixed.hs
+++ b/src/NumHask/Array/Fixed.hs
@@ -83,7 +83,7 @@
 import GHC.TypeLits
 import qualified NumHask.Array.Dynamic as D
 import NumHask.Array.Shape
-import NumHask.Prelude as P hiding (identity, outer, transpose)
+import NumHask.Prelude as P hiding (identity, transpose)
 
 -- $setup
 -- >>> :set -XDataKinds
diff --git a/src/NumHask/Array/HMatrix.hs b/src/NumHask/Array/HMatrix.hs
--- a/src/NumHask/Array/HMatrix.hs
+++ b/src/NumHask/Array/HMatrix.hs
@@ -148,19 +148,7 @@
 
 type instance Actor (Array s a) = a
 
-instance
-  ( HasShape s,
-    P.Distributive a,
-    CommutativeRing a,
-    Semiring a,
-    H.Container H.Vector a,
-    Num (H.Vector a),
-    Num a
-  ) =>
-  Hilbert (Array s a)
-  where
-  (<.>) (Array a) (Array b) = H.sumElements $ H.liftMatrix2 (Prelude.*) a b
-  {-# INLINE (<.>) #-}
+-- (<.>) (Array a) (Array b) = H.sumElements $ H.liftMatrix2 (Prelude.*) a b
 
 instance
   ( HasShape s,
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -4,8 +4,8 @@
   - .
 
 extra-deps:
-  - numhask-0.3.1
-  - numhask-prelude-0.3.2
-  - numhask-hedgehog-0.3.1
+  - numhask-0.4.0
+  - numhask-prelude-0.3.3
+  - numhask-hedgehog-0.3.2
   - numhask-space-0.3.0
   - tdigest-0.2.1
diff --git a/test/test.hs b/test/test.hs
--- a/test/test.hs
+++ b/test/test.hs
@@ -21,7 +21,7 @@
   where
     n = product $ shapeVal $ toShape @r
 
-genARational :: forall a m r. (H.MonadGen m, HasShape r, Field a, Subtractive a, ToRatio a Integer, FromRatio a Integer) => m (Array (r :: [Nat]) a)
+genARational :: forall a m r. (H.MonadGen m, HasShape r, Field a, ToRatio a Integer, FromRatio a Integer) => m (Array (r :: [Nat]) a)
 genARational = fromList <$> replicateM (fromIntegral n) negUniform
   where
     n = product $ shapeVal $ toShape @r
