What's the difference between:
fun <T, R> List<T>.map1(transform: (T) -> R): List<R> {
return this.map(transform)
}
and
fun <T, R> List<T>.map2(transform: (T?) -> R): List<R> {
return this.map(transform)
}
and
fun <T, R> List<T?>.map3(transform: (T?) -> R): List<R> {
return this.map(transform)
}
In my test, null is accepted for all 3 transform functions above, so: Is there any difference between T and T??