diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.3.3.1
+
+* Generalize signature of choose (Fixes [#72](https://github.com/snoyberg/xml/issues/72)) [#73](https://github.com/snoyberg/xml/pull/73)
+
 ## 1.3.3
 
 * New render setting to control when to use CDATA [#68](https://github.com/snoyberg/xml/pull/68)
diff --git a/Text/XML/Stream/Parse.hs b/Text/XML/Stream/Parse.hs
--- a/Text/XML/Stream/Parse.hs
+++ b/Text/XML/Stream/Parse.hs
@@ -816,9 +816,9 @@
 -- | Get the value of the first parser which returns 'Just'. If no parsers
 -- succeed (i.e., return 'Just'), this function returns 'Nothing'.
 choose :: Monad m
-       => [Consumer Event m (Maybe a)] -- ^ List of parsers that will be tried in order.
-       -> Consumer Event m (Maybe a) -- ^ Result of the first parser to succeed, or @Nothing@
-                                     --   if no parser succeeded
+       => [ConduitM Event o m (Maybe a)] -- ^ List of parsers that will be tried in order.
+       -> ConduitM Event o m (Maybe a)   -- ^ Result of the first parser to succeed, or @Nothing@
+                                         --   if no parser succeeded
 choose [] = return Nothing
 choose (i:is) =
     i >>= maybe (choose is) (return . Just)
diff --git a/xml-conduit.cabal b/xml-conduit.cabal
--- a/xml-conduit.cabal
+++ b/xml-conduit.cabal
@@ -1,5 +1,5 @@
 name:            xml-conduit
-version:         1.3.3
+version:         1.3.3.1
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>, Aristid Breitkreuz <aristidb@googlemail.com>
