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.1
+Version:         0.0.2
 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
@@ -1,7 +1,8 @@
 {-# Language 
         FlexibleContexts, 
         UndecidableInstances,
-        TypeSynonymInstances #-}
+        TypeSynonymInstances,
+        DeriveGeneric #-}
 -- | Fix-point type. It allows to define generic recurion schemes.
 --
 -- > Fix f = f (Fix f)
@@ -51,11 +52,14 @@
     ) 
 where
 
+import GHC.Generics
 import Control.Applicative
+import Data.Data
 import Data.Traversable
 
 -- | A fix-point type. 
-newtype Fix f = Fix { unFix :: f (Fix f) }
+newtype Fix f = Fix { unFix :: f (Fix f) } deriving (Generic, Typeable)
+instance Typeable f => Data (Fix f)
 
 -- standard instances 
 
