src/vs/base/common/iterator.ts/equals
	export function equals<T>(a: Iterable<T>, b: Iterable<T>, comparator = (at: T, bt: T) => at === bt) {
		const ai = a[Symbol.iterator]();
		const bi = b[Symbol.iterator]();
		while (true) {
			const an = ai.next();
			const bn = bi.next();

			if (an.done !== bn.done) {
				return false;
			} else if (an.done) {
				return true;
			} else if (!comparator(an.value, bn.value)) {
				return false;
			}
		}
	}