@@ -803,18 +803,18 @@ takeWhile p (Stream next0 s0 len) = Stream next s0 len -- HINT maybe too high
803803
804804-- | dropWhile @p @xs returns the suffix remaining after takeWhile @p @xs.
805805dropWhile :: (Char -> Bool) -> Stream Char -> Stream Char
806−dropWhile p (Stream next0 s0 len) = Stream next (S1 :*: s0) len -- HINT maybe too high
806+dropWhile p (Stream next0 s0 len) = Stream next (L s0) len -- HINT maybe too high
807807 where
808808 {-# INLINE next #-}
809− next (S1 :*: s) = case next0 s of
809+ next (L s) = case next0 s of
810810 Done -> Done
811− Skip s' -> Skip (S1 :*: s')
812− Yield x s' | p x -> Skip (S1 :*: s')
813− | otherwise -> Yield x (S2 :*: s')
814− next (S2 :*: s) = case next0 s of
811+ Skip s' -> Skip (L s')
812+ Yield x s' | p x -> Skip (L s')
813+ | otherwise -> Yield x (R s')
814+ next (R s) = case next0 s of
815815 Done -> Done
816− Skip s' -> Skip (S2 :*: s')
817− Yield x s' -> Yield x (S2 :*: s')
816+ Skip s' -> Skip (R s')
817+ Yield x s' -> Yield x (R s')
818818{-# INLINE [0] dropWhile #-}
819819
820820-- | /O(n)/ The 'isPrefixOf' function takes two 'Stream's and returns