docs: function shallowEqual(objA, objB) {
    if (isSameRef(objA, objB)) {
      return true
    }
  
    if (
      typeof objA !== 'object' ||
      objA === null ||
      typeof objB !== 'object' ||
      objB === null
    ) {
      return false
    }
  
    const keysA = Object.keys(objA)
    const keysB = Object.keys(objB)
  
    if (keysA.length !== keysB.length) {
      return false
    }
  
    for (let k of keysA) {
      if (!objB.hasOwnProperty(k)) {
        return false
      } else if (!isSameRef(objA[k], objB[k])) {
        return false
      }
    }
  
    return true
  }