diff --git a/HsConfigure.hs b/HsConfigure.hs
--- a/HsConfigure.hs
+++ b/HsConfigure.hs
@@ -1,7 +1,11 @@
+{-# LANGUAGE ScopedTypeVariables #-}
+
 module HsConfigure (
   runUsersEx
 ) where
 
+import Control.Exception
+
 import System.Environment   (getArgs)
 import System.IO            (openFile, hClose, IOMode(WriteMode, AppendMode), hPrint)
 import System.Directory     (doesDirectoryExist, createDirectory, copyFile, doesFileExist,
@@ -19,7 +23,7 @@
 runUsersEx prjName ver src defaultAction
   = do errFile <- getAppUserDataDirectory prjName >>= return . addErrSuffix . mkBaseFile prjName
        catch (buildLaunch prjName ver src) $
-         \err -> bracket (openFile errFile AppendMode) hClose (flip hPrint err)
+         \(err :: IOException) -> bracket (openFile errFile AppendMode) hClose (flip hPrint err)
        defaultAction
 
 buildLaunch :: String -> Maybe Version -> Maybe FilePath -> IO ()
@@ -52,7 +56,7 @@
         runProcess "ghc" ["--make", basename src, "-i", "-o", bin]
                    (Just dir) Nothing Nothing Nothing (Just h)
     return ()
-  where getModTime f = catch (Just <$> getModificationTime f) (const $ return Nothing)
+  where getModTime f = catch (Just <$> getModificationTime f) (\(e :: IOException) -> return Nothing)
         basename     = last . splitPath
 
 mkBaseFile :: String -> String -> String
diff --git a/hsConfigure.cabal b/hsConfigure.cabal
--- a/hsConfigure.cabal
+++ b/hsConfigure.cabal
@@ -1,6 +1,6 @@
 Name:		hsConfigure
-Version:	0.1
-Cabal-Version:	>= 1.2
+Version:	0.1.0.2
+Cabal-Version:	>= 1.6
 Build-Type:	Simple
 License:	LGPL
 License-File:	LICENSE
@@ -19,5 +19,5 @@
 Extra-Tmp-Files:
 
 Library
-  Build-Depends:	base, unix, process, filepath, directory
+  Build-Depends:	base == 4.*, unix, process, filepath, directory
   Exposed-Modules:	HsConfigure
