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.12
+
+* Fix compilation on GHC < 7.8.
+
 #### 0.23.1.11
 
 * Tighten some impossible lower bounds we can't support.
diff --git a/fay.cabal b/fay.cabal
--- a/fay.cabal
+++ b/fay.cabal
@@ -1,5 +1,5 @@
 name:                fay
-version:             0.23.1.11
+version:             0.23.1.12
 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,
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
@@ -54,7 +54,7 @@
 io = liftIO
 
 -- | Do any of the (monadic) predicates match?
-anyM :: Monad m => (a -> m Bool) -> [a] -> m Bool
+anyM :: (Functor m, Applicative m, Monad m) => (a -> m Bool) -> [a] -> m Bool
 anyM p l = return . not . null =<< filterM p l
 
 -- | Read from a process returning both std err and out.
