If you have been programming for a while, you must have heard about recursion at one point or another. If you work with Elm or other functional programming languages, chances are high you use it regularly (even though you may prefer alternatives). A recursive function is a function that calls itself anywhere in its implementation. Here’s a textbook example of recursion, implementing the factorial