I think the hard part in Rust is dealing with the borrow checker and the ownership concept. Other than that, it is similar to higher-level languages like Java/C#.
Haskell is a different can of worms altogether. There is a lot of "vocabulary" to learn and some existing concepts to unlearn. I have got a year to figure it out :)
Make sure you are using beta or better(pun intended) Rust (not stable), Non-Lexical Lifetimes make the borrow checker much more forgiving. And I mean much more reasonable, not loose in any sense.
I've had an incomparably better experience with it whenever closures and loops enter the picture.
I can't wait until syntax-level await drops. Such an amazing language.
And there are well-progressing RFCs to make it even more algebraic, so it will have even more Haskell affordances.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.