@@ -74,6 +74,7 @@ import Data.Functor.Identity (Identity(..))
74import GHC.Base (build)
74import GHC.Base (build)
75import GHC.Types (SPEC(..))
75import GHC.Types (SPEC(..))
76import Prelude hiding (map, mapM, foldr, take, concatMap)
76import Prelude hiding (map, mapM, foldr, take, concatMap)
77+import Fusion.Plugin.Types (Fuse(..))
78import Streamly.Internal.Data.SVar (State(..), adaptState, defState)
79import Streamly.Internal.Data.SVar (State(..), adaptState, defState)
79import Streamly.Internal.Data.Fold.Types (Fold(..), Fold2(..))
80import Streamly.Internal.Data.Fold.Types (Fold(..), Fold2(..))
@@ -87,6 +88,7 @@ import qualified Streamly.Internal.Data.Stream.StreamK as K
87-- | A stream is a succession of 'Step's. A 'Yield' produces a single value and
88-- | A stream is a succession of 'Step's. A 'Yield' produces a single value and
88-- the next state of the stream. 'Stop' indicates there are no more values in
89-- the next state of the stream. 'Stop' indicates there are no more values in
89-- the stream.
90-- the stream.
91+{-# ANN type Step Fuse #-}
90data Step s a = Yield a s | Skip s | Stop
92data Step s a = Yield a s | Skip s | Stop
92instance Functor (Step s) where
94instance Functor (Step s) where