If you have been programming for any length of time, you may well have come across higher order functions, but (like me) may not have fully appreciated just how powerful they can be. If you've not heard of them before, never fear, I have an explanation below.
What are higher order functions?
Simply put, a higher order function is a function whose input or output is also a function.
In the following example, the Map function takes a...