index.js
function merge () {
  var args = [].slice.call(arguments)
  args.unshift({})
  return mergeExt.apply(null, args)
}
function merge () {
  var args = [].slice.call(arguments)
  args.unshift({})
  return mergeExt.apply(null, args)
}
function merge ( ) { var args = [ ] . slice . call ( arguments ) args . unshift ( { } ) return mergeExt . apply ( null , args ) }
merge multiple objects into `target`

#### Example

````js
var merge = require('mergee').merge,
target  = { t: 1, x: { y: 'z' } },
source1 = { t: { s1: /source1/ } },
source2 = { t: { s2: new Date(100), x: null } };
merge(target, source1, source2);
// target === { t: { s1: /source1/, s2: Wed Dec 31 1969 17:00:00 GMT-0700 (MST) }, x: null }
````

@param {Object|Function|Array} target - target object
@param {Any} source - arguments 2 ... n
@return {Object} merged target
merge multiple objects into target