Well if you are changing the behaviour of the getter or the setter then you are already changing the public API contract.
I would rather want a compile time error instead of a silently not changing value in a setter for example after a library upgrade