На жабаскрипте не проще. Я три часа искал баг, а оказалось что Array.prototype.shift() возвращает undefined на пустом списке.
Вы так пишете, будто на Rust не бывает багов :) Но... Ладно. Каждому - своё. Хорошо, что языков много и каждый волен выбирать себе мучение по предпочтениям :)