One contract (DeepKey / DeepValue / DeepKeyFiltered / ArrayOfChanges / BoolLogic /
MathExpr over a large state object), six implementation approaches, measured from 4.7k to 96k
paths under two TypeScript engines. The question throughout: what keeps the type-checker (and
the editor) cheap as the state grows past ~5–6k paths, where the union approach OOMs.
Path convention: [*] = Record/index key, [n] = array element, .?? = any/never sentinel.