diff --git a/Test.hs b/Test.hs
--- a/Test.hs
+++ b/Test.hs
@@ -43,6 +43,9 @@
 travVCustom :: Applicative f => (a -> f a') -> (b -> f b') -> V a b -> f (V a' b')
 travVCustom = $(genTraverseT [(''U, 'travUCustom)] ''V)
 
+travW :: Applicative f => (a -> f a') -> (b -> f b') -> W a b -> f (W a' b')
+travW = $(genTraverse ''W)
+
 assertEq :: (Show a,Eq a) => a -> a -> IO ()
 assertEq a b | a == b = return ()
 assertEq a b = do
@@ -59,5 +62,6 @@
     let t = tell . s
     assertEq (execWriter (travU t t t t v)) ([0,5,2,3,6])
     assertEq (execWriter (travUCustom t t t t v)) ([0,5,3,2,6])
+    assertEq (execWriter (travW t t (W 3))) [3]
 
 
diff --git a/TestTypes.hs b/TestTypes.hs
--- a/TestTypes.hs
+++ b/TestTypes.hs
@@ -1,3 +1,8 @@
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE KindSignatures #-}
+#if __GLASGOW_HASKELL >= 704
+{-# LANGUAGE PolyKinds #-}
+#endif
 module TestTypes where
 
 data U a b c d
@@ -10,3 +15,5 @@
 data V u v = X (U v v u u) | Z u
  deriving (Eq,Show)
 
+data W (a :: *) b = W b
+ deriving (Eq,Show)
diff --git a/genifunctors.cabal b/genifunctors.cabal
--- a/genifunctors.cabal
+++ b/genifunctors.cabal
@@ -1,5 +1,5 @@
 name:                genifunctors
-version:             0.2.1.0
+version:             0.2.2.0
 synopsis:            Generate generalized fmap, foldMap and traverse
 description:         Generate (derive) fmap, foldMap and traverse for Bifunctors, Trifunctors, or a functor with any arity
 license:             BSD3
