There are many terrible mistakes to make in program design, so go ahead and make them so that you understand them better.