Problem
Home checks a function expression on the right of an element assignment with the resolved target signature before its body, but an ordinary member assignment currently checks the function expression without that context. On pinned Zod 4.5.2 this leaves all three parameters of each inst._zod.processJSONSchema = (ctx, json, params) => ... arrow implicit any: 41 assignments account for 123 of the remaining 241 TS7006 diagnostics.
The receiver is generic (T extends Trait) and the callable property is nested and optional, so this must be fixed through normal target/member/type-parameter resolution rather than source spelling.
Acceptance
- Contextually type a member-assignment function expression when the resolved write target has one unambiguous callable parameter signature, matching the existing element-assignment rule.
- Preserve parameter types through a generic constrained receiver and a nested member access.
- Handle an optional callable property without choosing an incompatible union signature.
- Keep strict negative controls for unknown parameter properties and an invalid callback return type, with TypeScript-matching diagnostic codes.
- Keep ambiguous callable unions and incompatible overload parameter lists conservative.
- Do not inspect Zod paths, identifiers, method names, or source text, and do not suppress diagnostics after an untyped check.
- On the unchanged pinned 106-file Zod 4.5.2 graph, remove the 123
processJSONSchemaTS7006 diagnostics with zero added normalized diagnostics. - Pass the focused reduction, Program and Checker suites, ReleaseFast, Zig formatting, scoped Pickier, and
git diff --check. - Record exact diagnostic and fair benchmark evidence in
TS_PERFORMANCE.md, add a brief linked README table update, and keep this issue and both parents current.