Better impl of the readonly prop so that it works with sections