When we take on a big refactoring, we often get this uncomfortable feeling of doubt. A little demon appears on our shoulder and asks "Did you remember to make all the changes? Are you sure? Sure sure?". We check the code again, run the tests and all is passing. Great. But that demon is still there, still nagging "Are you super sure? The tests were passing last time too...". In this talk, we will see how Elm can free us from those moments of self doubt. We will start with a short introduction of the language, explaining its design and philosophy. We will then start a full-on refactoring in the biggest Elm codebase in the world. We will see how the Elm compiler can help us make this sort of changes in a confident and predictable way. At the end of the talk, you will have a good understanding of how Elm works and what advantages it can bring to your toolset.