{-# LANGUAGE UnicodeSyntax #-} {-# LANGUAGE ScopedTypeVariables #-} import Control.Exception import GHC.Conc main = do ms1 ← getMaskingState atomically $ (throwSTM Overflow) `catchSTM` (\(e ∷ SomeException) → return ()) ms2 ← getMaskingState putStrLn $ show (ms1, ms2)