Too Long; Didn't Read
Extension functions in Kotlin allow you to natively implement the "decorator" pattern. They let you write new functions for a class from a third-party library that you can't modify. Such functions can be called in the usual way as if they were methods of the original class. Let's see how complex they can get and how to use them the right way.