A coroutine launched inside a `coroutineScope { }` block throws an unhandled exception. Regarding how structured concurrency propagates this through the Job tree, which statement is accurate?
suspend fun work() = coroutineScope {
launch { delay(50); throw RuntimeException("boom") }
launch { delay(1000); println("sibling") }
}