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.2
+Version:                0.0.3
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
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
@@ -46,3 +46,8 @@
 instance ( ConsumeArity xs f r
          , ExpectArity (x ': xs) (x -> f) )=> ConsumeArity (x ': xs) (x -> f) r where
   appN f (HCons x xs) = appN (f x) xs
+
+
+type family HasResult (f :: *) (r :: *) :: Constraint where
+  HasResult r r = ()
+  HasResult (x -> r') r = HasResult r' r
