Добавляем перегрузки функций в JavaScript

Что, если в JavaScript можно было бы объявить две функции sum - одну для двух чисел, другую для числа и строки? Я взял небольшой интерпретатор MuJS и добавил в него перегрузки. Теперь sum(2, 3) и sum(2, "3") вызывают разные функции. Покажу, как движок решает, какую из них запустить.
Это отрывок. Полностью — на сайте Habr