first working draft of symmetric coroutines