Дата классы генерят методы component1(), component2() и т.д., которые используются для destructing declaration (вот тут костылище, да) в порядке объявления полей. Этот порядок может меняться при изменении дата класса. Костыль в том, что паттерн-матчинг нормальный не завезли.
Бреслав говорил, что дескать а нафиг ПМ, мы свитчом обойдёмся.