Там ещё код был сильно рекурсивный был, в расте пришлось переписывать код с рекурсивного на цикл со стэком вручную, чтобы тупо как-то приблизиться к хаскелю.
Короче соптимизировать в том примере до хаскеля можно было, но ценой дикого усложнения кода, причем хаскель оставался при этом няшненьким и понятным без всяких оптимзаций