I am new to Kotlin and new to high-order functions and lambdas and I am reading the docs about lambdas now. I am struggling to understand the example in the docs describing the map function from the Map collections class. Can some walk me trough the signature of that method:
fun <T, R> List<T>.map(transform: (T) -> R): List<R> {
val result = arrayListOf<R>()
for (item in this)
result.add(transform(item))
return result
}