edsko commented on this pull request.
@k0001 I would like to request
1. Please identify specific, concrete, scenarios that may go wrong with the existing worker, so that we know what we’re talking about.
2. What is the minimal solution to those problems? In particular, might there be a solution that doesn’t require STM (in other words, sticks with a single `Chan`, since I totally agree with you that dealing with _multiple_ `MVars` indeed is a big red flag), and ideally also without all of this exception masking stuff.
3. As regards to the whole `hoist` issue — I don’t have strong feelings about this, although if Matt is right (I haven’t looked at the details) it seems strange to talk about a functor on the category of monads when the things that we’re constructing aren’t actually monads — but there is a much more pragmatic but nonetheless much more important concern, and that is that we badly need to bring the number of dependencies that we have down.