| 1 | "effect/HashMap#countBy": |
| 2 | replacement: "HashMap.reduce" |
| 3 | note: "Count matches with HashMap.reduce(self, 0, (count, value, key) => count + (predicate(value, key) ? 1 : 0))." |
| 4 | "effect/HashMap#HashMap": |
| 5 | replacement: "HashMap.HashMap" |
| 6 | note: "The immutable two-parameter model remains; use public operations rather than depending on its representation." |
| 7 | "effect/HashMap#keySet": |
| 8 | replacement: "HashSet.fromIterable + HashMap.keys" |
| 9 | note: "Construct the set with HashSet.fromIterable(HashMap.keys(self)); no direct keySet helper remains." |
| 10 | "effect/HashMap#TypeId": |
| 11 | replacement: "HashMap.isHashMap" |
| 12 | note: "The brand is private; use HashMap.isHashMap for runtime refinement and HashMap.HashMap<K, V> in type positions." |
| 13 | "effect/HashMap#unsafeGet": |
| 14 | replacement: "HashMap.getUnsafe" |
| 15 | note: "Direct word-order rename; it still throws for a missing key." |