diff --git a/Network/ByteOrder.hs b/Network/ByteOrder.hs
--- a/Network/ByteOrder.hs
+++ b/Network/ByteOrder.hs
@@ -330,7 +330,7 @@
     return $! ptr `plusPtr` l
 {-# INLINE copy #-}
 
-bufferIO :: Buffer -> Int -> (ByteString -> IO ()) -> IO ()
+bufferIO :: Buffer -> Int -> (ByteString -> IO a) -> IO a
 bufferIO ptr siz io = do
     fptr <- newForeignPtr_ ptr
     io $ PS fptr 0 siz
diff --git a/network-byte-order.cabal b/network-byte-order.cabal
--- a/network-byte-order.cabal
+++ b/network-byte-order.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                network-byte-order
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            Network byte order utilities
 description:         Peek and poke functions for network byte order.
 license:             BSD3
