т.е. хуже делать спецом?
Потому что ещё не пришло мышление типами. Короче, ты можешь сделать string = 'literal', но не можешь 'litteral' = string, т.к. литерал это уточнение типа string. Чтоб заработало, тебе в функции которая принимает A, должна проверить, действительно ли там приходит один из 'value1' | 'value2' и только тогда записать.
без контекста сказать сложно, но либо так либо задавать generic
Обсуждают сегодня