U Can't Touch This...

Stop generating values for properties for which a value has been set.

We currently check against the default value for the property type; I will file an issue for allowing this check to be specified, which would then also allow it to be disregarded entirely such that this behavior is switched off.
Use a Dictionary, it shouldn't be that much slower