«Conditional type — if type system, deferred в generic до известного T. Distribution: naked parameter + union → run per member, re-union — так NonNullable фильтрует null/undefined. Отключаю [T] extends [U]. infer — pattern-match в extends, slot capture — основа ReturnType и Awaited. Subtlety: infer в return unions, в parameter intersects — contravariance. Runtime nothing survives — conditional описывает guard, который пишу в JS.»
Разбор
Структура ответа:
- Deferred if в generic.
- Distribution +
[T] off-switch.
infer для utilities.
- Union vs intersect по позиции infer.
- Compile-time only — runtime guard отдельно.
Итог
Пятиступенчатый script — distribution, infer position, runtime gap — звучит как staff-level без лишней воды.