Oh you can write a non trapping setter for this, but you can't write a setter that is working correctly.