equalityFlat = (a, b) => a === b || a != null && b != null && a.constructor === b.constructor && (a instanceof Array && array.equalFlat(a,
/** @type {Array<T>} */
b) || typeof a === 'object' && object.equalFlat(a, b))
@template T

@param {Array<T>|object} a
@param {Array<T>|object} b
@return {boolean}