code: function mergeInner(base, mixin, mergeArrays) {
      if (base === null || typeof base !== 'object' || Array.isArray(base)) {
          throw new Error('base must be object');
      }
      if (mixin === null || typeof mixin !== 'object' || Array.isArray(mixin)) {
          throw new Error('mixin must be object');
      }
      Object.keys(mixin).forEach((name) => {
          mergeHelper(base, mixin, name, mergeArrays);
      });
  }
docs: Recursively merge objects
  
  @param {object} base Base object to merge `mixin` into
  @param {object} mixin Mixin object to merge into `base`
  @param {boolean} [mergeArrays] Merge arrays instead of concatenating them