Higher-order functions can be quite useful. However, their utility does not come for free. There is an overhead cost associated with using higher-order functions. This stems from how higher-order functions work at the compiler level. In this section, we'll explore how the inline and noinline modifiers can allow us to control the performance characteristics of our higher-order functions.