We can now reduce the boilerplate around passing blocks of behavior: we’re treating functions as first-class citizens. This makes parameterizing code by behavior a lot more attractive. This is key to functional programming, so key in fact that it has an associated name: higher-order functions.