code: function deepextend() {
    var argsarr = new Array(arguments.length)
    for (var l = 0; l < argsarr.length; ++l) {
      argsarr[l] = arguments[l]
    }
  
    // Lodash uses the reverse order to apply defaults than the deepextend API.
    argsarr = argsarr.reverse()
  
    // Add an empty object to the front of the args.  Defaults will be written
    // to this empty object.
    argsarr.unshift({})
  
    return _.defaultsDeep.apply(_, argsarr)
  }
docs: rightmost wins