1"effect/HashSet#beginMutation":
2 replacement: "none"
3 note: "Transient mutation mode was removed; reassign immutable add/remove results or build a batch with HashSet.fromIterable."
4"effect/HashSet#endMutation":
5 replacement: "none"
6 note: "There is no mutation window to finalize; remove this call and use the latest immutable HashSet value."
7"effect/HashSet#flatMap":
8 replacement: "HashSet.fromIterable + Iterable.flatMap"
9 note: "Preserve set deduplication with HashSet.fromIterable(Iterable.flatMap(self, f)); no direct flatMap remains."
10"effect/HashSet#forEach":
11 replacement: "Iterable.forEach"
12 note: "HashSet remains Iterable, so Iterable.forEach(self, f) preserves eager side-effecting traversal."
13"effect/HashSet#HashSet":
14 replacement: "HashSet.HashSet"
15 note: "The immutable model remains, but the brand is private and transient mutation helpers were removed."
16"effect/HashSet#partition":
17 replacement: "HashSet.filter"
18 note: "Build [excluded, satisfying] with complementary HashSet.filter calls, or use one reduction when the predicate is expensive."
19"effect/HashSet#toggle":
20 replacement: "HashSet.has + HashSet.remove / HashSet.add"
21 note: "Use HashSet.has(self, value) ? HashSet.remove(self, value) : HashSet.add(self, value)."
22"effect/HashSet#toValues":
23 replacement: "Array.from"
24 note: "HashSet remains iterable; Array.from(self) produces the former Array result."
25"effect/HashSet#TypeId":
26 replacement: "HashSet.isHashSet"
27 note: "The brand is private; use HashSet.isHashSet for runtime refinement and HashSet.HashSet<A> in type positions."
28"effect/HashSet#values":
29 replacement: "none"
30 note: "The HashSet itself is iterable; iterate it directly or call self[Symbol.iterator]() when an iterator object is required."
31"effect/HashSet#mutate":
32 replacement: "none"
33 note: "Transient mutation was removed; reassign immutable HashSet.add/remove results or build a complete replacement with HashSet.fromIterable."