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.