src/privates/_merge.js
function _merge (getKeys, a, b) {
    return reduce([a, b], function (result, source) {
        forEach(getKeys(source), function (key) {
            result[key] = source[key];
        });

        return result;
    }, {});
}
function _merge (getKeys, a, b) {
    return reduce([a, b], function (result, source) {
        forEach(getKeys(source), function (key) {
            result[key] = source[key];
        });

        return result;
    }, {});
}
function _merge ( getKeys , a , b ) { return reduce ( [ a , b ] , function ( result , source ) { forEach ( getKeys ( source ) , function ( key ) { result [ key ] = source [ key ] ; } ) ; return result ; } , { } ) ; }
Merges the received objects using the provided function to retrieve their keys.
@private
@param {Function} getKeys
@param {Object} a
@param {Object} b
@returns {Function}
Merges the received objects using the provided function to retrieve their keys .