Die Klasse Coroutine stellt die Abstraktion einer Koroutine dar.
Sie ermöglicht die Prozessorabgabe an eine andere Koroutine und stellt durch die Struktur toc Speicherplatz zur Verfügung, um die Inhalte der nicht-flüchtigen Register bis zur nächsten Aktivierung zu sichern. Außerdem sorgt sie für die Initialisierung dieser Registerwerte, damit bei der ersten Aktivierung die Ausführung an der richtigen Stelle und mit dem richtigen Stack beginnt.