A function that accepts another function, returns one, or does both.
Also known as higher-order functions