I think it should be `safeMerge` or even better if you extend `merge` to handle XPCOM objects properly. I assume you're running into issue when defining property on an XPCOM, so you could just check if source is xpcom and than switch just setting rather than defining.