[Haskell-cafe] How to make asynchronous I/O composable and safe?