diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+- 0.5.11.1
+    * Fix -Wall compilation with GHC 7.10
+
 - 0.5.11.0
     * Bump `haskell-src-exts` dependency to 1.16
 
diff --git a/src/Language/Haskell/Stylish/Config.hs b/src/Language/Haskell/Stylish/Config.hs
--- a/src/Language/Haskell/Stylish/Config.hs
+++ b/src/Language/Haskell/Stylish/Config.hs
@@ -120,8 +120,9 @@
         <*> (o A..:? "language_extensions" A..!= [])
 
     -- Then fill in the steps based on the partial config we already have
-    steps <- (o A..:  "steps" >>= fmap concat . mapM (parseSteps config))
-    return config {configSteps = steps}
+    stepValues <- o A..: "steps" :: A.Parser [A.Value]
+    steps      <- mapM (parseSteps config) stepValues
+    return config {configSteps = concat steps}
 parseConfig _            = mzero
 
 
diff --git a/src/Language/Haskell/Stylish/Parse.hs b/src/Language/Haskell/Stylish/Parse.hs
--- a/src/Language/Haskell/Stylish/Parse.hs
+++ b/src/Language/Haskell/Stylish/Parse.hs
@@ -5,7 +5,6 @@
 
 
 --------------------------------------------------------------------------------
-import           Control.Monad.Error             (throwError)
 import           Data.Maybe                      (fromMaybe, listToMaybe)
 import qualified Language.Haskell.Exts.Annotated as H
 
@@ -61,6 +60,6 @@
 
     case H.parseModuleWithComments mode noCpp of
         H.ParseOk md -> return md
-        err          -> throwError $
+        err          -> Left $
             "Language.Haskell.Stylish.Parse.parseModule: could not parse " ++
             fp ++ ": " ++ show err
diff --git a/stylish-haskell.cabal b/stylish-haskell.cabal
--- a/stylish-haskell.cabal
+++ b/stylish-haskell.cabal
@@ -1,5 +1,5 @@
 Name:          stylish-haskell
-Version:       0.5.11.0
+Version:       0.5.11.1
 Synopsis:      Haskell code prettifier
 Homepage:      https://github.com/jaspervdj/stylish-haskell
 License:       BSD3
