This is a typical opinion to have. This is also an uninformed opinion.
All Java needs is better syntax to handle exceptions. Nobody wants to open a whole block to handle an expected exception.
```
switch (f.get()) {
case Box(String s) when isGoodString(s) -> score(100);
case Box(String s) -> score(50);
case null -> score(0);
case throws CancellationException ce -> ...ce...
case throws ExecutionException ee -> ...ee...
case throws InterruptedException ie -> ...ie...