function isMergeable (val) {
return val &&
  (typeof val === 'object') &&
  !Array.isArray(val) &&
  !(val instanceof RegExp) &&
  !(val instanceof Date);
}
Determines whether the given value can be merged,
or if it is a scalar value that should just override the target value.

@param   {*}  val
@returns {Boolean}