code: function doMerge(source, target, opts) {
    return target instanceof Array
      ? mergeArrays(source, target)
      : mergeObjects(source, target, opts)
  }
docs: 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}