@@ -10,7 +10,7 @@ import Control.Concurrent (MVar, takeMVar, putMVar, newEmptyMVar)
1010import Control.Monad (replicateM, replicateM_)
1111import Data.IORef (readIORef, modifyIORef, newIORef)
1212import Data.List (sort, foldl', scanl', findIndices, findIndex, elemIndices,
13− elemIndex, find)
13+ elemIndex, find, intersperse)
1414import Data.Maybe (mapMaybe)
1515import GHC.Word (Word8)
1616
@@ -351,6 +351,8 @@ transformOps constr desc t eq = do
351351 prop (desc ++ " findIndices") $ transform (findIndices odd) $ t . (S.findIndices odd)
352352 prop (desc ++ " elemIndices") $ transform (elemIndices 3) $ t . (S.elemIndices 3)
353353
354+ prop (desc ++ " intersperseM") $ transform (intersperse 3) $ t . (S.intersperseM (return 3))
355+
354356
355357concurrentOps
356358 :: IsStream t
@@ -437,6 +439,9 @@ transformCombineOpsCommon constr desc t eq = do
437439 (S.scanlM' (\_ a -> return a) 0)
438440 prop (desc ++ " reverse") $ transform reverse t S.reverse
439441
442+ prop (desc ++ " intersperseM") $
443+ transform (intersperse 3) t (S.intersperseM $ return 3)
444+
440445transformCombineOpsOrdered
441446 :: (IsStream t, Semigroup (t IO Int))
442447 => ([Int] -> t IO Int)