You had enough of Angular, and as good as React may be, you are still trying to figure out what router library to use and how to setup your project. In short, you have JS fatigue. Elm is a functional programming language for your browser. It has no runtime exceptions, libraries with guarantees, virtual-dom rendering, it's immutable and has no side effects.