I'm impressed with the challenge of taking core language competencies of Elm, and trying to apply them to Rust.
Rust's core language competencies is very different from Elm's core language competencies.
What Rust is really good at -- a super-strong ownership model that is enforced at compile-time and eliminates a huge category of programming errors -- Elm does not need (because it only deals with immutable structures and uses garbage collection).
I have found my attempts at learning Elm have been really helpful in my ongoing attempt to learn Rust and programming in general. I don't know if that is inherent to the language design or the quality of documentation/tutorials. I picked up Rust for about three months, then focused on more front end programming for a while, which is when I tried my hand at Elm. Coming back to Rust after that many concepts just made sense in a way they had not the first time around.
Other languages that have the same kind of goodness that Elm has: Haskell, F#, OCaml.
I've heard Reason also should be in that category, but I'm not familiar with that language.
F# is like "OCaml for .NET". It's a first-class language fully supported by Microsoft in the .NET space, including Mono and the formerly-known-as Xamarin.
A little further afield, but may also be of interest: Scala, Elixir, Clojure (especially if you like Lisp/Scheme).
I have not programmed much in Rust. It does appeal to my OCD.
I actually read through the elixir docs while bedridden a few months ago. Decided to dive back into rust instead of switching to another language.
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.