diff --git a/data-fix.cabal b/data-fix.cabal
--- a/data-fix.cabal
+++ b/data-fix.cabal
@@ -1,5 +1,5 @@
 Name:            data-fix
-Version:         0.0.2
+Version:         0.0.3
 Cabal-Version:   >= 1.6
 License:         BSD3
 License-file:    LICENSE
diff --git a/src/Data/Fix.hs b/src/Data/Fix.hs
--- a/src/Data/Fix.hs
+++ b/src/Data/Fix.hs
@@ -2,7 +2,9 @@
         FlexibleContexts, 
         UndecidableInstances,
         TypeSynonymInstances,
-        DeriveGeneric #-}
+        DeriveGeneric,
+        DeriveDataTypeable,
+        StandaloneDeriving #-}
 -- | Fix-point type. It allows to define generic recurion schemes.
 --
 -- > Fix f = f (Fix f)
@@ -59,7 +61,7 @@
 
 -- | A fix-point type. 
 newtype Fix f = Fix { unFix :: f (Fix f) } deriving (Generic, Typeable)
-instance Typeable f => Data (Fix f)
+deriving instance (Typeable f, Data (f (Fix f))) => Data (Fix f)
 
 -- standard instances 
 
