I am a fan of early exit and despise else-like structure as presented in OP myself. I don't know, however, the problems during a program run that caused you to mention "... should *NEVER* be an else after return, exit or die". Would you care to explain (how does the syntax in OP cause problem when a program runs)?