Optimize `Model#update` and ensure that it ignores primitive argument values.
Implement `#propertyTypes()` in terms of `#propertyType()`.