diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+#### 0.19.0.1
+
+* Allow `haskell-src-exts 1.17.*`.
+
 ## 0.19.0.0
 
 * Don't call global `Q` if available. This was an experimental
diff --git a/rest-gen.cabal b/rest-gen.cabal
--- a/rest-gen.cabal
+++ b/rest-gen.cabal
@@ -1,5 +1,5 @@
 name:                rest-gen
-version:             0.19.0.0
+version:             0.19.0.1
 description:         Documentation and client generation from rest definition.
 synopsis:            Documentation and client generation from rest definition.
 maintainer:          code@silk.co
@@ -58,14 +58,14 @@
     , fclabels >= 1.0.4 && < 2.1
     , filepath >= 1.2 && < 1.5
     , hashable >= 1.1 && < 1.3
-    , haskell-src-exts >= 1.15.0 && < 1.17
+    , haskell-src-exts >= 1.15.0 && < 1.18
     , hxt >= 9.2 && < 9.4
     , json-schema >= 0.6 && < 0.8
     , pretty >= 1.0 && < 1.2
     , process >= 1.0 && < 1.4
     , rest-core >= 0.35 && < 0.38
     , safe >= 0.2 && < 0.4
-    , semigroups >= 0.5 && < 0.18
+    , semigroups >= 0.5 && < 0.19
     , scientific >= 0.3.2 && < 0.4
     , split >= 0.1 && < 0.3
     , text >= 0.11 && < 1.3
@@ -84,7 +84,7 @@
       base >= 4.5 && < 4.9
     , HUnit >= 1.2 && < 1.4
     , fclabels >= 1.0.4 && < 2.1
-    , haskell-src-exts >= 1.15.0 && < 1.17
+    , haskell-src-exts >= 1.15.0 && < 1.18
     , rest-core >= 0.35 && < 0.38
     , rest-gen
     , test-framework == 0.8.*
diff --git a/src/Rest/Gen/Haskell.hs b/src/Rest/Gen/Haskell.hs
--- a/src/Rest/Gen/Haskell.hs
+++ b/src/Rest/Gen/Haskell.hs
@@ -153,8 +153,13 @@
 rewriteModuleNames :: [(H.ModuleName, H.ModuleName)] -> H.Module -> H.Module
 rewriteModuleNames rews = U.transformBi $ \m -> lookupJustDef m m rews
 
+#if MIN_VERSION_haskell_src_exts(1,17,0)
+noBinds :: Maybe H.Binds
+noBinds = Nothing
+#else
 noBinds :: H.Binds
 noBinds = H.BDecls []
+#endif
 
 use :: H.Name -> H.Exp
 use = H.Var . H.UnQual
