Creating a portable (via boost::coroutine) implementation of sequence.