This adds a dep on haskell's async library, but since that's been added to the recent haskell platform release, it should not be much hardship to my poor long-suffering library chasing users.
Including support for unbound thread sleeping. Haskell's max thread sleep is 37 minutes, due to maxBound Int!