If you have more than one way to express the same thing, at some point the two or three different representations will most likely fall out of step with each other
Even if they don't, you're guaranteeing yourself the headache of maintaining them in parallel whenever a change occurs
And change will occur
Don't repeat yourself is important if you want flexible and maintainable software
Each and every declaration of behavior should occur once, and only once
This is one of the main goals, if not the main goal, when refactoring code
The design goal is to eliminate duplicated declarations of behavior, typically by merging them or replacing multiple similar implementations with a unifying abstraction