I had a friend take me on a journey through elm today while on stream today. The exercises they gave me were really well thought out and it was a lot of fun to feel how the code evolved between each task. Starting from a simple counter, it built up to where you were managing a list of list of counters. The cycle of building the thing that just works, and then refactoring it so it could take on more abstraction illustrated why elm's architecture shines. Helpful compiler hints as you incrementally introduce changes to your code makes the thorough type system manageable. Even without a full IDE, the online editor ellie has enough tooling to get you started with building basic apps. The auto-formatter is a little unwieldy as it tries to interpret what you are trying to format your code like vs adhering to a strict format. Building something somewhat involved was a great mental exercise and is encouraging to build more with elm in the future :)