Sure, it's the reverse of goroutines, which allow you to do easy asynchronous programming using synchronous code.
When I found that Stackless Python didn't have a way to read/write on multiple channels at once I was quite shocked.
http://hackage.haskell.org/packages/archive/stm/2.1.1.2/doc/...
http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4....
It also looks that "select" statement could be done in a combinator library way.
The power of Haskell (or of any proper modern language) isn't in the language itself, it's in the number of things you can express as a library, on top of the language.