diff --git a/Network/Fancy.hsc b/Network/Fancy.hsc
--- a/Network/Fancy.hsc
+++ b/Network/Fancy.hsc
@@ -233,19 +233,22 @@
 try' :: IO a -> IO (Either SomeException a)
 try' = E.try
 
-writeOp :: String -> CInt -> IO Int64 -> IO Int64
+ssize64 :: (#type ssize_t) -> Int64
+ssize64 = fromIntegral
+
+writeOp :: String -> CInt -> IO (#type ssize_t) -> IO Int64
 writeOp desc s op = loop
     where fd = fromIntegral s
-          loop = do res <- op
+          loop = do res <- fmap ssize64 op
                     if res /= -1 then return res else getErrno >>= eh
           eh err | err == eINTR = loop
                  | err == eWOULDBLOCK || err == eAGAIN = threadWaitWrite fd >> loop
                  | True = throwNetworkException (Socket s) desc err
 
-readOp :: String -> CInt -> IO Int64 -> IO Int64
+readOp :: String -> CInt -> IO (#type ssize_t) -> IO Int64
 readOp desc s op = loop
     where fd = fromIntegral s
-          loop = do res <- op
+          loop = do res <- fmap ssize64 op
                     if res /= -1 then return res else getErrno >>= eh
           eh err | err == eINTR = loop
                  | err == eWOULDBLOCK || err == eAGAIN = threadWaitRead fd >> loop
diff --git a/Network/Fancy/Error.hs b/Network/Fancy/Error.hs
--- a/Network/Fancy/Error.hs
+++ b/Network/Fancy/Error.hs
@@ -24,9 +24,9 @@
 import Control.Exception
 import Control.Monad
 import Data.Typeable
-import Foreign
+import Foreign(allocaArray, Ptr)
 import Foreign.C
-import System.IO.Unsafe
+import System.IO.Unsafe(unsafePerformIO)
 
 import Network.Fancy.Internal
 
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,12 @@
 # network-fancy changelog
 
+## Master - not yet released to hackage
+
+## Version 0.2.4 2016-03-02
+
+- Fixes for ancient GHC, 32 bit platform woes, fix #8
+- Fixes for ancient GHC, make imports stricter, fix #7
+
 ## Version 0.2.3 2015-06-20
 
 - Fix OS X build
diff --git a/network-fancy.cabal b/network-fancy.cabal
--- a/network-fancy.cabal
+++ b/network-fancy.cabal
@@ -1,5 +1,5 @@
 name: network-fancy
-version: 0.2.3
+version: 0.2.4
 cabal-version: >=1.8
 build-type: Simple
 license: BSD3
