Kotlin, map и forEach

Вначале было так

class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)

Timber.d("... onMessageReceived")
Timber.d("... id: ${message.messageId}")
Timber.d("... from: ${message.from}")
Timber.d("... notification: ${message.notification}")

message.data.forEach { key, value ->
Timber.d("... data: $key - $value")
}
}
}

Всё хорошо, но при запуске падало с таким ругательством:

Fatal Exception: java.lang.NoClassDefFoundError: ru.simpls.brs2.mobbank.modules.push.MyFirebaseMessagingService$onMessageReceived$1
at ru.simpls.brs2.mobbank.modules.push.RsbFirebaseMessagingService.onMessageReceived(RsbFirebaseMessagingService.kt:17)
at com.google.firebase.messaging.FirebaseMessagingService.zzl(Unknown Source)
at com.google.firebase.messaging.FirebaseMessagingService.zzJ(Unknown Source)
at com.google.firebase.messaging.FirebaseMessagingService.handleIntent(Unknown Source)
at com.google.firebase.iid.zzb$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)

Как видим, ключевое слово здесь

Fatal Exception: java.lang.NoClassDefFoundError: ru.simpls.brs2.mobbank.modules.push.MyFirebaseMessagingService$onMessageReceived$1

Описание проблемы и причину можно посмотреть вот здесь: http://blog.danlew.net/2017/03/16/kotlin-puzzler-whose-line-is-it-anyways/

Если коротко — то достаточно выполнить замену

message.data.forEach { key, value ->
Timber.d("... data: $key - $value")
}

на

message.data.forEach { (key, value) ->
Timber.d("... data: $key - $value")
}

Вначале, естественно, подумал на Proguard — но, оказалось, он тут не причём.