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.6
+Version:                0.0.7
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
@@ -18,18 +18,6 @@
   Build-Depends:        base >= 4.6 && < 5
                       , constraints
                       , HList >= 0.4
-
-Test-Suite spec
-  Type:                 exitcode-stdio-1.0
-  Default-Language:     Haskell2010
-  Hs-Source-Dirs:       src
-                      , test
-  Ghc-Options:          -Wall
-  Main-Is:              Spec.hs
-  Build-Depends:        base
-                      , hspec
-                      , QuickCheck
-                      , quickcheck-instances
 
 Source-Repository head
   Type:                 git
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
@@ -29,6 +29,7 @@
   ArityToTypeList (x -> r) = x ': ArityToTypeList r
   ArityToTypeList r = '[]
 
+
 type family Result (f :: *) :: * where
   Result (x -> r) = Result r
   Result r = r
@@ -39,6 +40,13 @@
 type family ArityMinusTypeList (r :: *) (xs :: [*]) :: * where
   ArityMinusTypeList r '[] = r -- basis
   ArityMinusTypeList (x -> r) (x ': xs) = ArityMinusTypeList r xs
+
+
+type ArityTypeListIso c l r =
+  ( ArityMinusTypeList c l ~ r
+  , c ~ TypeListToArity l r
+  )
+
 
 -- | Injects a type to the base of the function arity chain.
 type family InjectLast (x :: *) (f :: *) :: * where
diff --git a/test/Spec.hs b/test/Spec.hs
deleted file mode 100644
--- a/test/Spec.hs
+++ /dev/null
@@ -1,1 +0,0 @@
-{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
