I suspect the use of Rust rather than C++ might have something to do with the fact that Simon Peyton Jones and Lennart Augustsson (both of Haskell fame) both work at Epic and there would have been a strong internal push to do this in a language with some functional programming features. Rust rather than Verse because that would probably not be the right tool for the job (even if Simon works on it). Rust rather than Haskell probably because of performance -- DARCS never caught on partly for performance reasons.
C++'s stdlib collection algorithms were basically all mutate-in-place instead of return-a-new-value until C++20 introduced ranges, and I still don't know anyone who actually uses those. By contrast, people actually use the `container.iter().map(...)` etc. in Rust.
C++ also lacks much of the fancy pattern matching features which are frequently associated with functional programming. Such features may not be fundamental to functional programming, but they would fall under "some functional programming features", in the sense that they're common in the languages of that ecosystem.
Guess I never used map+collect in Rust. It's an extra copy. Maybe iter on its own cause that's how you go through non-array collections, same in C++ except C++ is just crappy no matter how you use it.
I think the things that make Rust safer than C++ make it look more like a functional programming language than C++. The main point is that there are some influential people at Epic (SPJ has often spoken favourably about Rust) who would favour it over C++.
Pure by default, type classes (traits), no inheritance, type level lifetime computation. It's not only more functional it's much more type-safe and closer to Haskell in spirit
Characters can be grouped according to the stroke count of their radical and phonetic components. This allows one to have a list of characters, and enables one to look up characters that one hasn't encountered before (although nowadays you can also use a Chinese ocr app for that purpose).
Yes, I know there's systems for looking up characters. But once you've found your character in your dictionary, what can you do with it if you don't know the meaning or pronounciation? Nowadays there's of course pronounciation guides(through a phonetic script) but I would imagine in the 3rd century BC this didn't exist?