There are two kinds of higher-order functions:
- Functions that take a function as an argument (for example, a callback pattern)
- Functions that return a function as their result
So, higher-order functions are simply functions that deal with functions. Higher-order reducer functions (also called higher-order reducers) are functions that wrap (take and return) reducer functions. We will talk more about these later.