@@ -942,16 +942,14 @@ sequence _f _p = undefined
942942-------------------------------------------------------------------------------
943943-- Alternative Collection
944944-------------------------------------------------------------------------------
945−--
945+
946946-- | See 'Streamly.Internal.Data.Parser.choice'.
947947--
948−-- /Unimplemented/
948+-- /Broken/
949949--
950950{-# INLINE choice #-}
951−choice ::
952− -- Foldable t =>
953− t (Parser m a b) -> Parser m a b
954−choice _ps = undefined
951+choice :: (MonadCatch m, Foldable t) => t (Parser m a b) -> Parser m a b
952+choice = foldl1 shortest
955953
956954-------------------------------------------------------------------------------
957955-- Sequential Repetition