The problem is you get more information in the future, but all this boilerplate is has been written before that information so the first instinct / seemingly least-resistance thing to do is to fit the new information into the old boilerplate / hierarchy.
Lots of people have OO scar tissue from getting weird impedance mismatches on newish OO systems designed this way.