I can't add much to the Haskell part as I've only ever used it sparingly. In many aspects, I view Rust as only having one or two small things that are new (or at least new in a non-research programming language). Its big strength is combining a lot of existing good ideas in a principled manner.
Not too bad for an abstract experimentation.
Add a single other resource, and now you need resource management. Once you have resource management, memory is the easiest thing to plug into it.
If you start out having resource management, you never wonder whether GC would be a good idea. GC turns into a solution desperately looking for a problem, and finding none in your neighborhood.
That explains why it was so hard for me to learn: I'm awful at math. The most advanced math I could understand was high school algebra.
There are plenty of such people, and they need something to do that keeps them out of the way of people interested in solving real problems efficiently.
I think Haskell is just too abstract for most of us. I love Rust traits and see how it directly came from Haskell but I couldn’t learn Haskell even after like 3 serious tries. Maybe a good portion of the problem is in the documentation and not the language? That said, the extremist purity is simply impractical compared to Rust which gets 90% of the way there without forcing all the architectural dances Haskell does. Just my opinion.