diff --git a/Control/Concurrent/SCC/Streams.hs b/Control/Concurrent/SCC/Streams.hs
--- a/Control/Concurrent/SCC/Streams.hs
+++ b/Control/Concurrent/SCC/Streams.hs
@@ -193,14 +193,15 @@
 
 fromParser :: forall p x y. Monoid x => y -> Parser p x y -> Reader x (y -> y) y
 fromParser failure p s = case inspect (feed s p)
-                         of ([], Nothing) -> Final s failure
-                            ([], Just (Nothing, p')) -> Deferred (fromParser failure p') r'
+                         of Left _ -> Final s failure
+                            Right ([], Nothing) -> Final s failure
+                            Right ([], Just (Nothing, p')) -> Deferred (fromParser failure p') r'
                                where (r', s') = case completeResults (feedEof p')
                                                 of [] -> (failure, s)
                                                    hd:_ -> hd
-                            ([], Just (Just prefix, p')) -> Advance (fromParser failure p') (prefix r') prefix
+                            Right ([], Just (Just prefix, p')) -> Advance (fromParser failure p') (prefix r') prefix
                                where (r', s'):_ = completeResults (feedEof p')
-                            ([(r, s')], Nothing) -> Final s' r
+                            Right ([(r, s')], Nothing) -> Final s' r
 
 -- | Function 'get' tries to get a single value from the given 'Source' argument. The intervening 'Coroutine'
 -- computations suspend all the way to the 'pipe' function invocation that created the source. The function returns
diff --git a/scc.cabal b/scc.cabal
--- a/scc.cabal
+++ b/scc.cabal
@@ -1,5 +1,5 @@
 Name:                scc
-Version:             0.8.3.1
+Version:             0.8.4
 Cabal-Version:       >= 1.10
 Build-Type:          Simple
 Synopsis:            Streaming component combinators
@@ -32,8 +32,8 @@
                      Control.Concurrent.SCC.Combinators, Control.Concurrent.SCC.Primitives, Control.Concurrent.SCC.XML,
                      Control.Concurrent.Configuration, Control.Concurrent.SCC.Configurable
   Build-Depends:     base < 5, containers,
-                     transformers >= 0.2 && < 0.6, transformers-compat >= 0.3 && < 0.6, bytestring < 1.0, text < 1.3,
-                     monoid-subclasses >= 0.2 && < 1.1, incremental-parser >= 0.2.2 && < 0.4,
+                     transformers >= 0.2 && < 0.7, transformers-compat >= 0.3 && < 0.8, bytestring < 1.0, text < 3,
+                     monoid-subclasses >= 0.2 && < 1.3, incremental-parser >= 0.4 && < 0.6,
                      monad-parallel, monad-coroutine == 0.9.*,
                      process, haskeline, parsec == 3.*
   GHC-options:       -threaded
@@ -49,9 +49,9 @@
                      Control.Concurrent.SCC.XML,
                      Control.Concurrent.Configuration, Control.Concurrent.SCC.Configurable
   Build-Depends:     base < 5, containers,
-                     transformers >= 0.2 && < 0.6, transformers-compat >= 0.3 && < 0.6, bytestring < 1.0, text < 1.3,
-                     monoid-subclasses >= 0.2 && < 1.1, incremental-parser >= 0.2.2 && < 0.4,
-                     monad-parallel, monad-coroutine == 0.9.*,
+                     transformers, transformers-compat, bytestring, text,
+                     monoid-subclasses, incremental-parser,
+                     monad-parallel, monad-coroutine,
                      QuickCheck >= 2 && < 3, test-framework >= 0.4.1, test-framework-quickcheck2
   GHC-options:       -threaded -freduction-depth=30
   if impl(ghc >= 7.0.0)
@@ -65,8 +65,8 @@
                      Control.Concurrent.SCC.Combinators.Parallel, Control.Concurrent.SCC.Combinators.Sequential,
                      Control.Concurrent.SCC.Combinators, Control.Concurrent.SCC.Primitives, Control.Concurrent.SCC.XML
   Build-Depends:     base < 5, containers,
-                     transformers >= 0.2 && < 0.6, transformers-compat >= 0.3 && < 0.6, bytestring < 1.0, text < 1.3,
-                     monoid-subclasses >= 0.2 && < 1.1, incremental-parser >= 0.2.2 && < 0.4,
+                     transformers >= 0.2 && < 0.7, transformers-compat >= 0.3 && < 0.8, bytestring < 1.0, text < 3,
+                     monoid-subclasses >= 0.2 && < 1.3, incremental-parser >= 0.4 && < 0.6,
                      monad-parallel, monad-coroutine == 0.9.*
   if impl(ghc >= 7.0.0)
      default-language: Haskell2010
