This is a simple implementation Object.assign
that has been graciously stolen from babel's extends helper.
Note: This is just the function implementation. It is not a ponyfill and it does not check for the existence of Object.assign
for you. To make a true ponyfill that returns the native implementation if available, you can do something like this:
Example:
import assign from 'simple-assign';
export default Object.assign || assign;