Абсолютно согласен, думаю это связано с тем, что UIKit ориентирован на черезчур олдскульное ООП с кучей ненужных мутаций и побочными эффектами за которыми следить тяжелее, чем должно быть
ООП олдускульное 😂
Вся магия SwiftUI зиждется на трех вещах, которых просто не было до Swift 5.1
паттерн FunctionBuilder(DSL)
reverse generic(aka some)
property wrappers(кастомные атрибуты)