Anulowanie nie zatrzymuje magicznie pracy CPU; funkcje zawieszalne sprawdzają anulowanie, ale ciasne pętle muszą współpracować (sprawdzać `isActive` albo wołać `yield()`/`ensureActive()`). Inaczej anulowana coroutine może dalej działać.