diff --git a/ghc/lib/glaExts/LazyST.lhs b/ghc/lib/glaExts/LazyST.lhs index b8480dfa2aa9749ad152ce0a12cd9ce1a6abae95..4c44e30ab456864b259b40ed5905ea29ceb179da 100644 --- a/ghc/lib/glaExts/LazyST.lhs +++ b/ghc/lib/glaExts/LazyST.lhs @@ -100,8 +100,11 @@ unsafeFreezeSTArray (STArray arr) = strictToLazyST (unsafeFreezeArray arr) strictToLazyST :: STBase.ST s a -> ST s a strictToLazyST (STBase.ST m) = ST $ \s -> - let STBase.S# s# = s in - case m s# of { STBase.STret s2# r -> (r, STBase.S# s2#) } + let + STBase.S# s# = s + STBase.STret s2# r = m s# + in + (r, STBase.S# s2#) lazyToStrictST :: ST s a -> STBase.ST s a lazyToStrictST (ST m) = STBase.ST $ \s ->