diff --git a/Tools/IncompleteHList.hs b/Tools/IncompleteHList.hs
--- a/Tools/IncompleteHList.hs
+++ b/Tools/IncompleteHList.hs
@@ -12,7 +12,7 @@
 import Data.Tuple.OneTuple (OneTuple(OneTuple))
 import Data.HList (HNil(HNil), HCons(HCons), (:*:), hEnd, hBuild)
 
-class HLst a b | a -> b where
+class HLst a b | a -> b, b -> a where
     -- |Creates an HList from a tuple.
     toHList   :: a -> b
     -- |Creates a tuple from an HList.
diff --git a/tuple-hlist.cabal b/tuple-hlist.cabal
--- a/tuple-hlist.cabal
+++ b/tuple-hlist.cabal
@@ -1,5 +1,5 @@
 name:                tuple-hlist
-version:             0.1.0.3
+version:             0.1.0.4
 synopsis:            Functions to convert between tuples and HLists.
 description:         Functions to convert between tuples and HLists, overloaded on tuple size.
 homepage:            http://github.com/dudebout/tuple-hlist
