if (_.isPlainObject(value) && !_.some(_.keys(value), (k) => !_.isNaN(Number(k)))) {
      _.assignWith(flatObject, flattenObjectSansNumericKeys(value), setWithWarning);
    } else {
      // istanbul ignore next
      if (process.env.NODE_ENV === 'development' && flatObject[key] && value !== flatObject[key]) {