I am trying to learn how functional programming works and have trouble conceptualizing the idea of iterating using recursion and pattern matching. What I want to understand