Why rules? * IF is made of exceptions. * Handle complexity by being able to ignore most of it. * A simple programming mechanism that can be made complicated later. * You have to collaborate with the standard library (modify every part of it). * Third-party libraries have to collaborate with the standard library, and with each other. * You have to collaborate with yourself.