Async exception handling in Haskell
https://www.snoyman.com/reveal/async-exception-handling
https://www.fpcomplete.com/blog/how-to-handle-asynchronous-exceptions-in-haskell

非同期例外のツライ話だけれど、こういう話は大好物😋
#Haskell はこの辺りかなり真面目に考えている方だと思うけれど、それでもやはり正しく書くのは難しいね。

個人的には uninterruptibleMask をあまり使ったことがなかったけれど、 mask と uninterruptibleMask のどちらを使うべきかはちゃんと考えないといけなさそう。

あと、ちょうど unsafeDupablePerformIO の中で bracket とかを使ってはいけないというのはどういうことか気になっていたので、それに関する話 https://ghc.haskell.org/trac/ghc/ticket/8502 が言及されていたのがタイムリーだった。