Что такое branded-types?
Используйте, когда примитивные типы требуют семантического различия. Используйте, когда типы строк или чисел имеют разные значения. Используйте, когда вам нужно номинальный набор текста. Источник: marius-townhouse/effective-typescript-skills.