map и filter в стандартной библиотеке JavaScript ужасны. Они охотно оцениваются и существуют только в прототипе массива, что является неправильным уровнем абстракции. Если бы они оценивались лениво, их можно было бы применить к любому Iterable, включая генераторы. Посмотрите на пакет itertools в Python.

Точно так же использование immutable.js не эквивалентно использованию оператора распространения. Оператор распространения копирует весь объект, в то время как immutable.js использует trie, что намного эффективнее при обновлении. Он разделяет память с предыдущим состоянием, а не копирует все это в новое состояние.

В обоих случаях вы сравнивали только синтаксис/апи, а не то, что на самом деле делает код. Синтаксис — очень поверхностная вещь для оценки. Я предполагаю, что именно поэтому вам не нравятся типы в вашем коде, несмотря на полезность, полученную от мощного статического анализа.

Кроме того, ваш тон отстой, вы звучите чертовски высокомерно и будто вам нужна новая перспектива. Я бы посоветовал вам потратить следующие 20 лет на изучение чего-то другого, кроме JavaScript.