Coroutine exceptions: how do they propagate and when to use `CoroutineExceptionHandler`? | LetsGit.IT