provide `model.unset`

explicitly states which attributes have been unset, rather than relying
on it being explicitly set to `undefinned`