You were introduced to lambdas in chapter 5, where you explored the general concept, and dove deeper into the standard library functions that use lambdas in chapter 6. Lambdas are a great tool for building abstractions, and, of course, their power isn’t restricted to collections and other classes in the standard library. In this chapter, you’ll learn how to create higher-order functions—your own functions that take lambdas as arguments or return them. You’ll see how higher-order functions can help simplify your code, remove code duplication, and build nice abstractions. You’ll also become acquainted with inline functions—a powerful Kotlin feature that removes the performance overhead associated with using lambdas and enables more flexible control flow within lambdas.