lib/merger.js
function doMerge(source, target, opts) {
  return target instanceof Array
    ? mergeArrays(source, target)
    : mergeObjects(source, target, opts)
}
function doMerge(source, target, opts) {
  return target instanceof Array
    ? mergeArrays(source, target)
    : mergeObjects(source, target, opts)
}
function doMerge ( source , target , opts ) { return target instanceof Array ? mergeArrays ( source , target ) : mergeObjects ( source , target , opts ) }
Determine whether we should do an array or object merge

@private
@param     {Object}    source    Source to merge
@param     {Object}    target    Target to merge into
@param     {Object}    opts      Options for the merge
@return    {Object}
Determine whether we should do an array or object merge