diff --git a/Text/XML/Expat/SAX.hs b/Text/XML/Expat/SAX.hs
--- a/Text/XML/Expat/SAX.hs
+++ b/Text/XML/Expat/SAX.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE DeriveDataTypeable, TypeSynonymInstances, CPP, ScopedTypeVariables, FlexibleInstances #-}
+{-# LANGUAGE DeriveDataTypeable, TypeSynonymInstances, CPP, ScopedTypeVariables, FlexibleInstances, GADTs #-}
 {-# OPTIONS_GHC -fno-cse -fno-full-laziness #-}
 
 -- hexpat, a Haskell wrapper for expat
diff --git a/hexpat.cabal b/hexpat.cabal
--- a/hexpat.cabal
+++ b/hexpat.cabal
@@ -1,6 +1,6 @@
 Cabal-Version: >= 1.6
 Name: hexpat
-Version: 0.20.8
+Version: 0.20.9
 Synopsis: XML parser/formatter based on expat
 Description:
   This package provides a general purpose Haskell XML library using Expat to
@@ -49,7 +49,8 @@
     0.20.1 fix an unfortunate crash when used in parallel processing and greatly improve
     performance; 0.20.2 make parseSaxG lazier; 0.20.3 minor build issues; 0.20.4 remove
     dependency on extensible-exceptions; 0.20.5 bump text upper bound; 0.20.6 bump text again
-    to include 1.1.x.x; 0.20.7 bump text again for 1.2.x.x; 0.20.8 bump utf8-string dep.
+    to include 1.1.x.x; 0.20.7 bump text again for 1.2.x.x; 0.20.8 bump utf8-string dep;
+    0.20.9 bump deepseq dep/ghc-7.10 compatibility.
 Category: XML
 License: BSD3
 License-File: LICENSE
@@ -122,7 +123,7 @@
     transformers,
     text >= 0.5.0.0 && < 1.3.0.0,
     utf8-string >= 0.3 && < 1.1,
-    deepseq >= 1.1.0.0 && < 1.4.0.0,
+    deepseq >= 1.1.0.0 && < 1.5.0.0,
     containers,
     List >= 0.4.2 && < 0.6
   Exposed-Modules:
diff --git a/test/suite/Text/XML/Expat/Cursor/Tests.hs b/test/suite/Text/XML/Expat/Cursor/Tests.hs
--- a/test/suite/Text/XML/Expat/Cursor/Tests.hs
+++ b/test/suite/Text/XML/Expat/Cursor/Tests.hs
@@ -1,5 +1,4 @@
-{-# LANGUAGE BangPatterns #-}
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE BangPatterns, FlexibleContexts, OverloadedStrings #-}
 
 module Text.XML.Expat.Cursor.Tests (tests) where
 
@@ -159,6 +158,7 @@
 
         return (n', ch1, chN)
 
+    p :: (TNode, TNode, TNode) -> Bool
     p (node, ch1, chN) = p1 && p2
       where
         cursor = fromTree node
