I've noticed that marking a property as `readOnly` results in the struct field becoming a pointer. This seems weird, is there a reason for this?