higher order functions

Functions using functions as input and/or output are higher order functions.

> Functions can be passed as arguments to other functions (a feature called higher-order functions) and a function can return other functions.

This may cause confusion that only functions using functions as input are higher-order functions.