diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
 
 See full history at: <https://github.com/faylang/fay/commits>
 
+#### 0.23.1.11
+
+* Tighten some impossible lower bounds we can't support.
+
 #### 0.23.1.10
 
 * Don't compile with `-fprof-auto` by default.
diff --git a/fay.cabal b/fay.cabal
--- a/fay.cabal
+++ b/fay.cabal
@@ -1,5 +1,5 @@
 name:                fay
-version:             0.23.1.10
+version:             0.23.1.11
 synopsis:            A compiler for Fay, a Haskell subset that compiles to JavaScript.
 description:         Fay is a proper subset of Haskell which is type-checked
                      with GHC, and compiled to JavaScript. It is lazy, pure, has a Fay monad,
@@ -135,35 +135,35 @@
     Paths_fay
 
   build-depends:
-      base >= 4 && < 4.9
-    , base-compat == 0.8.*
+      base >= 4.5 && < 4.9
+    , base-compat >= 0.8 && < 0.10
     , aeson > 0.6 && < 0.11
-    , bytestring < 0.11
-    , containers < 0.6
-    , data-default < 0.6
-    , data-lens-light < 0.2
-    , directory < 1.3
-    , filepath < 1.5
-    , ghc-paths < 0.2
+    , bytestring >= 0.9 && < 0.11
+    , containers >= 0.4 && < 0.6
+    , data-default >= 0.2 && < 0.6
+    , data-lens-light == 0.1.*
+    , directory >= 1.1 && < 1.3
+    , filepath >= 1.3 && < 1.5
+    , ghc-paths == 0.1.*
     , haskell-src-exts == 1.17.*
     , language-ecmascript >= 0.15 && < 0.18
-    , mtl < 2.3
+    , mtl >= 2.1 && < 2.3
     , mtl-compat >= 0.1 && < 0.3
-    , process < 1.3
-    , safe < 0.4
-    , sourcemap < 0.2
-    , split < 0.3
-    , spoon < 0.4
-    , syb < 0.7
-    , text < 1.3
-    , time >= 1 && < 1.6
+    , process >= 1.1 && < 1.3
+    , safe >= 0.2 && < 0.4
+    , sourcemap == 0.1.*
+    , split >= 0.1 && < 0.3
+    , spoon >= 0.1 && < 0.4
+    , syb >= 0.3 && < 0.7
+    , text >= 0.11 && < 1.3
+    , time >= 1.4 && < 1.6
     , transformers >= 0.3 && < 0.4 || > 0.4.1 && < 0.5
     , transformers-compat >= 0.3 && < 0.5
-    , traverse-with-class < 0.3
-    , type-eq < 0.6
+    , traverse-with-class >= 0.1 && < 0.3
+    , type-eq >= 0.1 && < 0.6
     , uniplate >= 1.6.11 && < 1.7
-    , unordered-containers < 0.3
-    , utf8-string < 1.1
+    , unordered-containers == 0.2.*
+    , utf8-string >= 0.1 && < 1.1
     , vector < 0.12
 
   if impl(ghc < 7.8)
diff --git a/src/Fay/Compiler/Prelude.hs b/src/Fay/Compiler/Prelude.hs
--- a/src/Fay/Compiler/Prelude.hs
+++ b/src/Fay/Compiler/Prelude.hs
@@ -45,7 +45,7 @@
 import           Prelude.Compat       hiding (exp, mod)
 import           Safe
 
-import           Control.Monad.Except
+import           Control.Monad.Except hiding (filterM)
 import           System.Exit
 import           System.Process
 
