The runtime switch was buried in the last paragraph of the article. All of the code was using goroutines and channels....
... That means the definition of coroutines should be possible to implement and understand in terms of ordinary Go code. Later, I will argue for an optimized implementation provided directly by the runtime,..