@@ -506,10 +506,15 @@ fromFoldableM = Prelude.foldr consM K.nil
506506-- @since 0.4.0
507507{-# INLINE_EARLY fromListM #-}
508508fromListM :: (MonadAsync m, IsStream t) => [m a] -> t m a
509−fromListM = fromStreamD . D.fromListM
509+fromListM = fromFoldableM
510510{-# RULES "fromListM fallback to StreamK" [1]
511511 forall a. D.toStreamK (D.fromListM a) = fromFoldableM a #-}
512512
513+{-# RULES "fromListM serial" fromListM = fromListMSerial #-}
514+{-# INLINE_EARLY fromListMSerial #-}
515+fromListMSerial :: MonadAsync m => [m a] -> SerialT m a
516+fromListMSerial = fromStreamD . D.fromListM
517+
513518-- | Same as 'fromFoldable'.
514519--
515520-- @since 0.1.0