Да, это и есть отдельный, полный по Тьюрингу, язык описания типов для упрощения жизни программиста, за счет того, что можно точнее описать ожидания от кода и они, при этом, еще проверяться будут (берет на себя некоторую часть ответственности тестов). Какие-то сложные типы в реальности редко используются, и, в основном, в библиотечном коде. После ts в других языках иногда гибкости не хватает, особенно union types, duck typing. В статье, кстати, каких-то особых извращений нет, а вот тут есть
Да, это и есть отдельный, полный по Тьюрингу, язык описания типов для упрощения жизни программиста, за счет того, что можно точнее описать ожидания от кода и они, при этом, еще проверяться будут (берет на себя некоторую часть ответственности тестов). Какие-то сложные типы в реальности редко используются, и, в основном, в библиотечном коде. После ts в других языках иногда гибкости не хватает, особенно union types, duck typing. В статье, кстати, каких-то особых извращений нет, а вот тут есть
ufo
Или в консоли современного браузера: