These new functions just seem like a great invitation for novice programmers to create messy and hard to debug code. I don’t see any advantage in using these whatsoever. Unless you consider merging some lines of code into one an advantage. For example: in your first “love”: the sole purpose of the int helper variable is to receive the return value of the method. Assigning it a value beforehand and complain that the value was overwritten afterwards is illogical. You should have used a separate variable for that. And in the switch scenario: Switches are clearly meant to inquire on a specific property of a logical structure of the same type in order to find a match. It was never meant as a tool where you could just bungle up anything together and expect to get some random result willy nilly. In that case an IF ELSE statement would be more appropriate. And the part of the order of the switch cases being new is misleading as well. Switches were always meant to break after a true statement has been reached so the relevance of the order of the statements is part of it’s design. The non-coalescent portion is more along the same lines: let’s put as much as we can into one line of code instead of clearly checking the value or the result and handle it accordingly.