infer_case is left whole

The typechecker’s infer_case is a single ~100-line function. Decomposing it into smaller helpers is “probably wrong”: the case-inference logic is one coherent piece of reasoning, and splitting it scatters a single judgment across helpers that each make no sense alone, with more surface than substance gained.

This is a standing choice recorded to forestall a well-meaning refactor. Leave infer_case as one function unless its behaviour needs to change.

(Recorded 2026-05-30; the decision predates the wiki.)

See also core; cf. the authoring rule on finding the missing semantic type rather than surface helpers (AGENTS.md).