I was working on adding Object.mixin from scratch when I found [Paul Miller's implementation](https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js#L384-L399).  I used his instead (and added Object.assign, which I didn't know about prior).