I wonder if someone just got jealous from the Haskell libraries such as enumerator, iterator, and pipe. Though they're even more generic (backwards flow and query/response for some). Of course the types in Haskell are scary, so C++ would be even worse. Maybe Boost will do it now...