Because compound fields like `address` may send a bunch of undefined tag
values in the `changed` object, and we don't want them all to turn into
raw tags (but we do want them to override any existing tags).
This is subtlely different than what `_.extend({}, existing, changed)` did.