diff --git a/sarsi-nvim/NVIM/Client.hs b/sarsi-nvim/NVIM/Client.hs
--- a/sarsi-nvim/NVIM/Client.hs
+++ b/sarsi-nvim/NVIM/Client.hs
@@ -36,5 +36,5 @@
         Request 0 (Text.pack "vim_call_function") $ Vector.fromList $
           [ toObject m
           , toObject $ Vector.fromList xs ]
-      unpack (Response _ a) = [a]
-      unpack _              = []
+      unpack (Right (Response _ a)) = [a]
+      unpack _                      = []
diff --git a/sarsi.cabal b/sarsi.cabal
--- a/sarsi.cabal
+++ b/sarsi.cabal
@@ -1,5 +1,5 @@
 name:                sarsi
-version:             0.0.0.0
+version:             0.0.0.2
 synopsis:            A universal quickfix toolkit and his protocol.
  
 description:
@@ -66,7 +66,7 @@
   other-modules:
   build-depends:       
       base
-    , sarsi
+    , sarsi                 == 0.0.0.2
     , machines
     , machines-io
     , machines-process
@@ -88,7 +88,8 @@
     -- NVIM.Info
   build-depends:       
       base
-    , sarsi
+    , sarsi                 == 0.0.0.2
+    , machines
     , binary
     , bytestring
     , containers
@@ -110,7 +111,7 @@
   other-modules:
   build-depends:       
       base
-    , sarsi
+    , sarsi                 == 0.0.0.2
     , machines
     , machines-io
     , machines-process
diff --git a/src/Sarsi/Consumer.hs b/src/Sarsi/Consumer.hs
--- a/src/Sarsi/Consumer.hs
+++ b/src/Sarsi/Consumer.hs
@@ -3,7 +3,7 @@
 
 import Codec.Sarsi (Event, getEvent)
 import Data.Binary.Machine (streamGet)
-import Data.Machine ((<~), runT_)
+import Data.Machine ((<~), asParts, auto, runT_)
 import Network.Socket (Socket, accept, bind, listen, close, socketToHandle)
 import Sarsi (mkSocket, mkSockAddr')
 import System.IO (IOMode(ReadMode), hClose)
@@ -22,6 +22,9 @@
 serve sock sink = do
   (conn, _) <- accept sock
   h     <- socketToHandle conn ReadMode
-  runT_ $ sink <~ streamGet getEvent <~ sourceHandle (byChunk) h
+  runT_ $ sink <~ asParts <~ auto unpack <~ streamGet getEvent <~ sourceHandle (byChunk) h
   hClose h
   serve sock sink
+    where
+      unpack (Right e) = [e]
+      unpack (Left _) = []
