What is functional programming?
In short: It is programming without mutation. If you want to write loops, use recursion! Or some abstraction upon recursion, like the `map` function.
The benefit is that functional programs don't have any unexpected side-effects, making them easier to reason about & test.
If you call a "pure" function you know that the only data it reads were those you passed into it, & the only data it writes is that which it returned back to you.
1/1.5!