If the same logic is needed for both instances, then: * in an `if` structure they should be combined [source,kotlin,diff-id=1,diff-type=compliant] ---- if ((a >= 0 && a < 10) || (a >= 20 && a < 50)) { doFirstThing() doTheThing() } else if (a >= 10 && a < 20) { doTheOtherThing() } else { doTheRest() } ---- * for a `when`, the values should be put together in the branch expression list. [source,kotlin,diff-id=2,diff-type=compliant] ---- when (x) { 1, 3 -> { doFirstThing() doSomething() } 2 -> doSomethingDifferent() else -> doTheRest() } ----