export function difference(firstSet: Iterable, ...otherSets: Iterable[]): Set { const differenceSet = new Set(firstSet) for (const set of otherSets) { for (const element of set) { differenceSet.delete(element) } } return differenceSet }