https://engineering.teknasyon.com/kotlin-functional-sam-interfaces-vs-function-type-performance-bef0f925faf3