Suspendable functions and coroutines

I think that call more for improving the for-comprehensions, to something like what F# has