In principle you are right. In practice you are demanding that people have an extra if…..else statement for every function call they make, which if not performed could lead to some pretty evil bugs. You’ve demanded twice as many unit tests to be written for most units. Youve demanded lots of noise in function signatures added to layered code
In practice, this all sucks, for some measly performance gain. An extra cloud server costs a few extra hundred bucks a month. What does an extra hour of your time coding and debugging cost each time? Its about economics not purity.