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