Beginning to document COROUTINE protocol