diff --git a/Setup.lhs b/Setup.lhs
--- a/Setup.lhs
+++ b/Setup.lhs
@@ -1,3 +1,4 @@
 #!/usr/bin/env runhaskell
 > import Distribution.Simple
+> main :: IO ()
 > main = defaultMain
diff --git a/lib/System/Miniplex/Sink.hs b/lib/System/Miniplex/Sink.hs
--- a/lib/System/Miniplex/Sink.hs
+++ b/lib/System/Miniplex/Sink.hs
@@ -70,7 +70,7 @@
     spawn t v = do
         shutdown t ShutdownReceive
         z <- atomically $ readTVar zp
-        maybe  (return ()) (xsend t) z
+        maybe (return ()) (xsend t) z
         block $ do
             atomically $ do
                 vs <- readTVar cp
@@ -100,7 +100,7 @@
     closeOnExec s
     bracket
         (openFd lck WriteOnly (Just mode644) defaultFileFlags)
-        (\fd -> closeFd fd)
+        closeFd
         $ \lf -> do
     bracket (setLockAll lf LockWrite) unLock $ \_ -> do
     brush ret
diff --git a/miniplex.cabal b/miniplex.cabal
--- a/miniplex.cabal
+++ b/miniplex.cabal
@@ -1,5 +1,5 @@
 name: miniplex
-version: 0.3.3
+version: 0.3.4
 cabal-version: >= 1.2
 license: LGPL
 license-file: LICENSE
@@ -7,6 +7,7 @@
 maintainer: Lukas Mai <l.mai@web.de>
 stability: experimental
 category: System
+build-type: Simple
 synopsis: simple 1-to-N interprocess communication
 description:
     This module provides interprocess communication channels. This is meant
@@ -22,7 +23,7 @@
   hs-source-dirs: lib
   if flag(small_base)
     build-depends: directory
-  build-depends: base, network, stm, unix, mtl, colock >=0.2.2
+  build-depends: base <4, network, stm, unix, mtl, colock >=0.2.2
   ghc-options: -O2 -Wall
 
 executable plox-read
