I'd wrap setting and restoring `async_except_hook` in the `run` implementation, so normal Lwt behavior is kept.