To capture discussion and decision: want to make sure we have consistent update/merge/union behavior. I think there was a renaming from update to merge at some point perhaps. Something to the effect of (and free to disagree):
update will update an existing key,
merge will update or add depending on the key,
union cannot update existing key but can add differing keys.
Strictly speaking union should return differing and both on collision, but we not ready to support all that functionality yet I think.