@@ -590,11 +590,13 @@ concatMap f m = fromStreamD $ D.concatMap (toStreamD . f) (toStreamD m)
590590--
591591-- See also: 'concat', 'sequence'
592592--
593−-- /Internal/
593+-- /Inhibits stream fusion/
594594--
595595{-# INLINE concatEffect #-}
596596concatEffect :: Monad m => m (Stream m a) -> Stream m a
597−concatEffect generator = concatMapM (\() -> generator) (fromPure ())
597+-- concatEffect generator = concatMapM (\() -> generator) (fromPure ())
598+concatEffect generator =
599+ fromStreamK $ K.concatEffect $ fmap toStreamK generator
598600
599601-- XXX Need a more intuitive name, and need to reconcile the names
600602-- foldMany/fold/parse/parseMany/parseManyPost etc.