diff --git a/Network/Fancy.hsc b/Network/Fancy.hsc
--- a/Network/Fancy.hsc
+++ b/Network/Fancy.hsc
@@ -270,8 +270,9 @@
   let unai :: Ptr AddrInfoT -> IO [SocketAddress]
       unai ai | ai == nullPtr = return []
               | otherwise     = uwork ai
-      uwork ai = do sal <- (#peek struct addrinfo, ai_addrlen)   ai
+      uwork ai = do sal'<- (#peek struct addrinfo, ai_addrlen)   ai :: IO SLen
                     sa' <- (#peek struct addrinfo, ai_addr)      ai
+                    let sal = fromIntegral sal'
                     sa  <- mallocForeignPtrBytes sal
                     copyBytes (unsafeForeignPtrToPtr sa) sa' sal
                     next<- (#peek struct addrinfo, ai_next)      ai
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.1.3
+Version:             0.1.4
 Synopsis:            Networking support with a cleaner API
 Description:         Networking support with a cleaner API
 License:             BSD3
