mergeMaybeArrays = (a, b) => {
	const set = new Set();
	if (Array.isArray(a)) for (const item of a) set.add(item);
	else set.add(a);
	if (Array.isArray(b)) for (const item of b) set.add(item);
	else set.add(b);
	return Array.from(set);
}
@template T
@template U
@param {string | Array<T> | Set<T> | undefined} a a
@param {string | Array<U> | Set<U> | undefined} b b
@returns {Array<T> & Array<U>} array