Как только вы делаете нечто, что выглядит неправильным, TypeScript на это указывает. Если же вы делаете свои намерения явными, он перестает препятствовать. В таком поведении есть смысл: кто бы, находясь в здравом уме, стал складывать число и массив, ожидая в результате получить строку? (Конечно, не считая JavaScript-ведьмы Бавморды, которая пишет код при свечах в гараже, где устроился ваш стартап.)