diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Changelog for ghc-lib-parser-ex
 
+## 8.10.0.9 released 2020-05-16
+- New modules
+  - `Language.Haskell.GhclibParserEx.GHC.Hs.Binds`
+  - `Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp`
+
 ## 8.10.0.8 released 2020-05-14
 - New module `Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader`
 
diff --git a/ghc-lib-parser-ex.cabal b/ghc-lib-parser-ex.cabal
--- a/ghc-lib-parser-ex.cabal
+++ b/ghc-lib-parser-ex.cabal
@@ -1,6 +1,6 @@
 cabal-version: >= 1.18
 name:           ghc-lib-parser-ex
-version:        8.10.0.8
+version:        8.10.0.9
 description:    Please see the README on GitHub at <https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme>
 homepage:       https://github.com/shayne-fletcher/ghc-lib-parser-ex#readme
 bug-reports:    https://github.com/shayne-fletcher/ghc-lib-parser-ex/issues
@@ -43,6 +43,8 @@
       Language.Haskell.GhclibParserEx.GHC.Hs.Pat
       Language.Haskell.GhclibParserEx.GHC.Hs.Types
       Language.Haskell.GhclibParserEx.GHC.Hs.Decls
+      Language.Haskell.GhclibParserEx.GHC.Hs.Binds
+      Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp
       Language.Haskell.GhclibParserEx.GHC.Hs.ExtendInstances
       Language.Haskell.GhclibParserEx.GHC.Parser
       Language.Haskell.GhclibParserEx.GHC.Types.Name.Reader
diff --git a/src/Language/Haskell/GhclibParserEx/GHC/Hs/Binds.hs b/src/Language/Haskell/GhclibParserEx/GHC/Hs/Binds.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/Haskell/GhclibParserEx/GHC/Hs/Binds.hs
@@ -0,0 +1,20 @@
+-- Copyright (c) 2020, Shayne Fletcher. All rights reserved.
+-- SPDX-License-Identifier: BSD-3-Clause.
+{-# LANGUAGE CPP #-}
+#include "ghclib_api.h"
+module Language.Haskell.GhclibParserEx.GHC.Hs.Binds(
+  isPatSynBind
+  )
+where
+
+#if defined (GHCLIB_API_811) || defined (GHCLIB_API_810)
+import GHC.Hs.Binds
+import GHC.Hs.Extension
+#else
+import HsBinds
+import HsExtension
+#endif
+
+isPatSynBind :: HsBind GhcPs -> Bool
+isPatSynBind PatSynBind{} = True
+isPatSynBind _ = False
diff --git a/src/Language/Haskell/GhclibParserEx/GHC/Hs/ImpExp.hs b/src/Language/Haskell/GhclibParserEx/GHC/Hs/ImpExp.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/Haskell/GhclibParserEx/GHC/Hs/ImpExp.hs
@@ -0,0 +1,23 @@
+-- Copyright (c) 2020, Shayne Fletcher. All rights reserved.
+-- SPDX-License-Identifier: BSD-3-Clause.
+{-# LANGUAGE CPP #-}
+#include "ghclib_api.h"
+module Language.Haskell.GhclibParserEx.GHC.Hs.ImpExp(
+  isPatSynIE
+  )
+where
+
+#if defined (GHCLIB_API_811)
+import GHC.Hs.ImpExp
+import GHC.Types.Name.Reader
+#elif defined (GHCLIB_API_810)
+import GHC.Hs.ImpExp
+import RdrName
+#else
+import HsImpExp
+import RdrName
+#endif
+
+isPatSynIE :: IEWrappedName RdrName -> Bool
+isPatSynIE IEPattern{} = True
+isPatSynIE _ = False
