Можно и без этого даже никак, но паттерн-матчинг в Haskell и матчинг в JS вещи семантически схожие, но концептуально все же разные. Начиная с того, что в Haskell применение любой функции (а типы в Haskell - тоже функции) - это паттерн матчинг, который всегда удовлетворяется.
И так можно многие фичи es6 разобрать. Т.е. да, сделали фичи, работает, пользоваться и применять можно, есть кто к этому вообще привык, но утверждать, что это пик достижений - ну такое. Если бы с ним все было так хорошо, то диалекты бы к нему не плодили - зачем Google тратить деньги на создание Dart, если JS так хорош? Зачем CoffeeScript? TypeScript? ClojureScript? Просто тщеславия ради? Нет, сделать работу с инструментом удобнее. Почему мода на фреймворки в JS так быстро меняется? Почему каждый кому не лень клепает свою библиотеку?
Ну что пик достижений - этого я и не утверждаю. А из перечисленных языков стоит отметить что фактически живые только два - коффескрипт R.I.P., да и создавался он для имитации фич, которые потом нативно ввели в сам js, dart же никто кроме wrike не использует, а затея гугла затащить виртуалку для dart в хром затухла на ровном месте.
Тайпскрипт лишь надмножество js, и если в язык пройдёт горстка proposal'ов с новой типизацией, то тайпскрипт со временем может повторить судьбу CoffeScript.
Чтобы писать на чём-то по-настоящему новом для фронта - придётся подождать когда для wasm откроют браузерные API