[GUI] Type safe readonly and writeonly attributes with phantom types