(E: Equivalence.Equivalence<A>)
| 495 | * If element is present remove it, if not add it |
| 496 | */ |
| 497 | export function toggle_<A>(E: Equivalence.Equivalence<A>): (set: Set<A>, a: A) => Set<A> { |
| 498 | const elemE = elem_(E) |
| 499 | const removeE = remove(E) |
| 500 | const insertE = insert(E) |
| 501 | return (set, a) => (elemE(set, a) ? removeE : insertE)(a)(set) |
| 502 | } |
| 503 | |
| 504 | /** |
| 505 | * Create a set from an array |