export function toggleInSet(item: T, set: Set) { if (set.has(item)) { return new Set([...set].filter((i) => i !== item)) } return new Set([...set].concat(item)) } export function difference(setA: Set, setB: Set) { let _difference = new Set(setA) for (let elem of setB) { _difference.delete(elem) } return _difference } export const emptySet = () => new Set()