That is already accounted for, both the visibility (what's inside
limits what's before the variable) as well as changing the
write-only/read-only options. If you read the RFC, when extending a
class and adding "set" method to a member that was read-only, you
overload the read-only setting...
Hence on the example you gave I expect the set method to be available
privately, and the visibility to be decreased from public to
protected.
Might not make a lot of sense to have it all together (even on legacy
code - you do review before committing, right? :), but it's accounted
for when extending classes.