FWIW, I don't think anything rigorous was proposed. It's purely semantical. It's about interface consistency - which is HIGHLY desirable for newcomers.
Try telling someone new to the Arduino community that this works as expected:
int myvar = 32;
Serial.print(myvar); // prints out "32"
whereas this doesn't:
byte myvar = 32;
Serial.print(myvar); // prints out a space
I don't want to dwell on this, because it would take enormous effort to have the current Print class changed (even though it's a tiny change). We have to live with the quirks in the system. It wouldn't be life if we didn't!