diff --git a/Text/HTML/TagStream/Utils.hs b/Text/HTML/TagStream/Utils.hs
new file mode 100644
--- /dev/null
+++ b/Text/HTML/TagStream/Utils.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE ViewPatterns #-}
+module Text.HTML.TagStream.Utils where
+
+import Data.Monoid (Monoid(..))
+import Text.HTML.TagStream.Types
+
+splitAccum :: Monoid s => [Token' s] -> (s, [Token' s])
+splitAccum [] = (mempty, [])
+splitAccum (reverse -> (Incomplete s : xs)) = (s, reverse xs)
+splitAccum tokens = (mempty, tokens)
diff --git a/tagstream-conduit.cabal b/tagstream-conduit.cabal
--- a/tagstream-conduit.cabal
+++ b/tagstream-conduit.cabal
@@ -1,5 +1,5 @@
 Name:                tagstream-conduit
-Version:             0.5.1
+Version:             0.5.2
 Synopsis:            streamlined html tag parser
 Description:
     Tag-stream is a library for parsing HTML//XML to a token stream.
@@ -31,6 +31,7 @@
                      , Text.HTML.TagStream.ByteString
                      , Text.HTML.TagStream.Text
                      , Text.HTML.TagStream.Types
+                     , Text.HTML.TagStream.Utils
   Build-depends:       base >= 4 && < 5
                      , bytestring
                      , text
