So, for example, if you are writing your own async-io with coroutines, you’ll have to make your io suspending functions cancel-aware. If you don’t, then a cancelled coroutine may be still waiting forever on some io even and it will “learn” that it was actually cancelled only when this io event actually appears (if ever)