diff --git a/lapack.cabal b/lapack.cabal
--- a/lapack.cabal
+++ b/lapack.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:    2.2
 Name:             lapack
-Version:          0.5.0.2
+Version:          0.5.0.3
 License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -53,7 +53,7 @@
   test-module.list
 
 Source-Repository this
-  Tag:         0.5.0.2
+  Tag:         0.5.0.3
   Type:        darcs
   Location:    https://hub.darcs.net/thielema/lapack/
 
@@ -81,7 +81,6 @@
     lazyio >=0.1 && <0.2,
     transformers >=0.4 && <0.7,
     tfp >=1.0.2 && <1.1,
-    fixed-length >=0.2 && <0.3,
     semigroups >=0.18.3 && <1.0,
     non-empty >=0.3 && <0.4,
     Stream >=0.4.7 && <0.5,
@@ -203,7 +202,7 @@
     tfp,
     comfort-array-shape,
     comfort-array,
-    data-ref >=0.0.1 && <0.1,
+    data-ref >=0.0.1 && <0.2,
     unique-logic-tf >=0.5.1 && <0.6,
     random >=1.1 && <1.3,
     doctest-exitcode-stdio >=0.0 && <0.1,
@@ -214,7 +213,7 @@
     monoid-transformer >=0.0.4 && <0.1,
     semigroups,
     non-empty >=0.3.1,
-    utility-ht,
+    utility-ht >=0.0.17,
     base
 
   Default-Language: Haskell98
diff --git a/test/Test/Banded.hs b/test/Test/Banded.hs
--- a/test/Test/Banded.hs
+++ b/test/Test/Banded.hs
@@ -18,7 +18,7 @@
 import Test.Utility
          (approx, approxArray, approxMatrix, approxVector,
           genOrder, genArray, genArrayIndexed,
-          equalArray, Tagged, equalListWith)
+          equalArray, Tagged)
 
 import qualified Numeric.LAPACK.Matrix.Banded.Naive as BandedNaive
 import qualified Numeric.LAPACK.Matrix.Banded as Banded
@@ -48,6 +48,7 @@
 
 import Control.Applicative (liftA2, (<$>))
 
+import qualified Data.List.HT as ListHT
 import Data.Tuple.HT (mapPair, mapSnd)
 
 import qualified Test.QuickCheck as QC
@@ -195,7 +196,7 @@
     Matrix.General ShapeInt ShapeInt a) ->
    Bool
 multiplyFullColumns (Banded a, b) =
-   equalListWith approxVector
+   ListHT.equalWith approxVector
       (Matrix.toColumns (Banded.multiplyFull a b))
       (map (Banded.multiplyVector a) (Matrix.toColumns b))
 
diff --git a/test/Test/BandedHermitian.hs b/test/Test/BandedHermitian.hs
--- a/test/Test/BandedHermitian.hs
+++ b/test/Test/BandedHermitian.hs
@@ -19,7 +19,7 @@
 import Test.Utility
          (approxReal, approxArray, approxRealVectorTol, approxMatrix,
           approxVector,
-          genOrder, genArray, genVector, Tagged, equalArray, equalListWith)
+          genOrder, genArray, genVector, Tagged, equalArray)
 
 import qualified Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite
                                                        as BandedHermitianPD
@@ -364,7 +364,7 @@
    BandedHermitian.Transposition ->
    (BandedHermitian ShapeInt a, Matrix.General ShapeInt ShapeInt a) -> Bool
 multiplyFullColumns trans (BandedHermitian a, b) =
-   equalListWith approxVector
+   ListHT.equalWith approxVector
       (Matrix.toColumns (BandedHermitian.multiplyFull trans a b))
       (map (BandedHermitian.multiplyVector trans a) (Matrix.toColumns b))
 
diff --git a/test/Test/Utility.hs b/test/Test/Utility.hs
--- a/test/Test/Utility.hs
+++ b/test/Test/Utility.hs
@@ -43,19 +43,6 @@
 import Test.ChasingBottoms.IsBottom (isBottom)
 
 
-equalListWith :: (a -> a -> Bool) -> [a] -> [a] -> Bool
-equalListWith eq xs ys =
-   and $ ListHT.takeWhileJust $
-   zipWith
-      (\mx my ->
-         case (mx,my) of
-            (Nothing,Nothing) -> Nothing
-            (Just x, Just y) -> Just $ eq x y
-            _ -> Just False)
-      (map Just xs ++ repeat Nothing)
-      (map Just ys ++ repeat Nothing)
-
-
 equalVectorBody ::
    (Shape.C shape, Class.Floating a) =>
    Array shape a -> Array shape a -> Bool
