External clients can already arbitrarily read contract storage slots.
Further, there is a big difference between “giving access to private members of another object is considered bad design” and “accessing private members of another object is considered bad design”.
In other words, giving software developers more tools/functionality is not bad, just because some might shoot themselves in the foot. However, shooting yourself in the foot is almost always a bad idea.