Another question, I am using kotlin recently to analyze data. Often I need to deal with 2 or more adjacent items in a list. What's the idiomatic/recommended way to do it in Kotlin? (0..size - 2).forEach {...} ? subList(0, size - 1).zip.drop(1).forEach {...}?