Rust has a load of FP-style iter/map/filter stuff that you can technically do in C++ but only if you don't mind bleeding eyes.

It also borrows a lot of features from FP languages like nice tagged unions (enums), Result, everything-is-an-expression, etc.

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.