>>106919782
Code must be as simple as possible, and no simpler. Blanket banning constructs from use leads to additional complexity when someone has to emulate those constructs with the constructs still allowed. Banning goto means when I have to use goto I need to emulate it with a while loop or something. This doesn't make code any simpler, it just makes it harder to read.