diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,9 @@
+1.0.1.1: 30 January 2014
+------------------------
+
+    - Work around bug in GHC 7.4.2, which can't derive Generic for associated
+      data types.
+
 1.0.1: 26 January 2014
 ----------------------
 
diff --git a/diagrams-cairo.cabal b/diagrams-cairo.cabal
--- a/diagrams-cairo.cabal
+++ b/diagrams-cairo.cabal
@@ -1,5 +1,5 @@
 Name:                diagrams-cairo
-Version:             1.0.1
+Version:             1.0.1.1
 Synopsis:            Cairo backend for diagrams drawing EDSL
 Description:         A full-featured backend for rendering
                      diagrams using the cairo rendering engine.
diff --git a/src/Diagrams/Backend/Cairo/Internal.hs b/src/Diagrams/Backend/Cairo/Internal.hs
--- a/src/Diagrams/Backend/Cairo/Internal.hs
+++ b/src/Diagrams/Backend/Cairo/Internal.hs
@@ -59,7 +59,7 @@
 import           Control.Monad.Trans             (lift, liftIO)
 import           Data.Default.Class
 import qualified Data.Foldable                   as F
-import           Data.Hashable                   (Hashable)
+import           Data.Hashable                   (Hashable(..))
 import           Data.List                       (isSuffixOf)
 import           Data.Maybe                      (catMaybes, fromMaybe, isJust)
 import           Data.Tree
@@ -142,7 +142,7 @@
           , _cairoOutputType :: OutputType -- ^ the output format and associated options
           , _cairoBypassAdjust  :: Bool    -- ^ Should the 'adjustDia' step be bypassed during rendering?
           }
-    deriving (Show, Generic)
+    deriving (Show)
 
   doRender _ (CairoOptions file size out _) (C r) = (renderIO, r')
     where r' = runRenderM r
@@ -186,7 +186,13 @@
   mempty  = C $ return ()
   (C rd1) `mappend` (C rd2) = C (rd1 >> rd2)
 
-instance Hashable (Options Cairo R2)
+instance Hashable (Options Cairo R2) where
+  hashWithSalt s (CairoOptions fn sz out adj)
+    = s   `hashWithSalt`
+      fn  `hashWithSalt`
+      sz  `hashWithSalt`
+      out `hashWithSalt`
+      adj
 
 renderRTree :: RTree Cairo R2 a -> Render Cairo R2
 renderRTree (Node (RPrim accTr p) _) = render Cairo (transform accTr p)
