diff --git a/Text/Parse/Units.hs b/Text/Parse/Units.hs
--- a/Text/Parse/Units.hs
+++ b/Text/Parse/Units.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE LambdaCase, NoMonomorphismRestriction, FlexibleContexts, RankNTypes,
-             Safe, DeriveGeneric, DeriveDataTypeable #-}
+             Safe, DeriveGeneric, DeriveDataTypeable, CPP #-}
 {-# OPTIONS_HADDOCK prune #-}
 
 -----------------------------------------------------------------------------
@@ -58,6 +58,10 @@
 import Data.Maybe
 import Data.Char
 
+#if __GLASGOW_HASKELL__ < 709
+import Data.Typeable ( Typeable )
+#endif
+
 ----------------------------------------------------------------------
 -- Basic combinators
 ----------------------------------------------------------------------
@@ -120,6 +124,10 @@
                    | Div (UnitExp pre u) (UnitExp pre u)
                    | Pow (UnitExp pre u) Integer
                    deriving (Eq, Ord, Generic, Data)
+
+#if __GLASGOW_HASKELL__ < 709
+deriving instance Typeable UnitExp
+#endif
 
 instance (Show pre, Show u) => Show (UnitExp pre u) where
   show Unity               = "1"
diff --git a/units-parser.cabal b/units-parser.cabal
--- a/units-parser.cabal
+++ b/units-parser.cabal
@@ -1,5 +1,5 @@
 name:           units-parser
-version:        0.1.1
+version:        0.1.1.1
 cabal-version:  >= 1.10
 synopsis:       A parser for units of measure
 category:       Text
