Monadic IO, concurrency, exceptions, and foreign-language calls in Haskell | Hacker News Reader