diff --git a/prelude/prelude.purs b/prelude/prelude.purs
--- a/prelude/prelude.purs
+++ b/prelude/prelude.purs
@@ -642,7 +642,7 @@
                         \    while (!f()) { }\
                         \    return {};\
                         \  };\
-                        \}" :: forall e. Eff e Boolean -> Eff e {}
+                        \}" :: forall e. Eff e Boolean -> Eff e Unit
 
   foreign import whileE "function whileE(f) {\
                         \  return function(a) {\
@@ -653,7 +653,7 @@
                         \      return {};\
                         \    };\
                         \  };\
-                        \}" :: forall e a. Eff e Boolean -> Eff e a -> Eff e {}
+                        \}" :: forall e a. Eff e Boolean -> Eff e a -> Eff e Unit
 
   foreign import forE "function forE(lo) {\
                       \  return function(hi) {\
@@ -665,7 +665,7 @@
                       \      };\
                       \    };\
                       \  };\
-                      \}" :: forall e. Number -> Number -> (Number -> Eff e {}) -> Eff e {}
+                      \}" :: forall e. Number -> Number -> (Number -> Eff e Unit) -> Eff e Unit
 
 
   foreign import foreachE "function foreachE(as) {\
@@ -674,7 +674,7 @@
                           \      f(as[i])();\
                           \    }\
                           \  };\
-                          \}" :: forall e a. [a] -> (a -> Eff e {}) -> Eff e {}
+                          \}" :: forall e a. [a] -> (a -> Eff e Unit) -> Eff e Unit
 
 module Control.Monad.Eff.Unsafe where
 
@@ -696,9 +696,9 @@
                        \    console.log(s);\
                        \    return {};\
                        \  };\
-                       \}" :: forall r. String -> Eff (trace :: Trace | r) {}
+                       \}" :: forall r. String -> Eff (trace :: Trace | r) Unit
 
-  print :: forall a r. (Show a) => a -> Eff (trace :: Trace | r) {}
+  print :: forall a r. (Show a) => a -> Eff (trace :: Trace | r) Unit
   print o = trace (show o)
 
 module Control.Monad.ST where
diff --git a/purescript.cabal b/purescript.cabal
--- a/purescript.cabal
+++ b/purescript.cabal
@@ -1,5 +1,5 @@
 name: purescript
-version: 0.5.2.3
+version: 0.5.2.4
 cabal-version: >=1.8
 build-type: Custom
 license: MIT
@@ -18,9 +18,9 @@
 data-dir: ""
 
 library
-    build-depends: base >=4 && <5, cmdtheline -any, containers -any, unordered-containers -any,
-                   directory >= 1.2, filepath -any, mtl -any, parsec -any,
-                   transformers -any, utf8-string -any,
+    build-depends: base >=4 && <5, cmdtheline == 0.2.*, containers -any, unordered-containers -any,
+                   directory >= 1.2, filepath -any, mtl >= 2.1.0 && < 2.2.0, parsec -any,
+                   transformers >= 0.3 && < 0.4, utf8-string -any,
                    pattern-arrows >= 0.0.2 && < 0.1,
                    monad-unify >= 0.2.2 && < 0.3,
                    xdg-basedir -any, time -any
