diff --git a/poly-arity.cabal b/poly-arity.cabal
--- a/poly-arity.cabal
+++ b/poly-arity.cabal
@@ -1,5 +1,5 @@
 Name:                   poly-arity
-Version:                0.0.4
+Version:                0.0.4.1
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
@@ -16,6 +16,7 @@
   Exposed-Modules:      Data.Function.Poly
   Build-Depends:        base >= 4.6 && < 5
                       , constraints
+                      , HList >= 0.4
 
 Test-Suite spec
   Type:                 exitcode-stdio-1.0
diff --git a/src/Data/Function/Poly.hs b/src/Data/Function/Poly.hs
--- a/src/Data/Function/Poly.hs
+++ b/src/Data/Function/Poly.hs
@@ -15,11 +15,7 @@
 module Data.Function.Poly where
 
 import Data.Constraint
-
-data HList (xs :: [*]) where
-  HNil :: HList '[]
-  HCons :: x -> HList xs -> HList (x ': xs)
-
+import Data.HList
 
 type family TypeListToArity (xs :: [*]) (r :: *) :: * where
   TypeListToArity '[] r = r -- basis
