timeout Generalized sleep and timeout functions. Example module Main where import Control.Timeout (timeout, sleep) main :: IO () main = do timeout 1 $ sleep 2 -- Will return IO Nothing timeout 2 $ sleep 1 -- Will return IO (Just ()) return ()