Ashley Yakeley wrote: | > timeOut :: Int -> IO a -> IO (Maybe a) : | Sounds rather unsafe. What happens to the IO action | after the specified time? Good point. Actually, a function of the type: timeOut :: Int -> a -> IO (Maybe a) would suffice for my purposes, but I tried to be a bit more general when I posed my question. /Koen.