Что такое tail-recursive-generics?
Используйте при получении ошибок «Создание экземпляра типа слишком глубокое». Используйте при написании рекурсивных универсальных типов. Используйте при обработке структур большого или глубокого типа. Используйте при построении циклов на уровне типа. Источник: marius-townhouse/effective-typescript-skills.