Тут бы линзы помогли, но их надо написать или через arrow генерить (хотя не стоит они же вроде до сих пор через kapt генерят)
Ну и в котлин ~2.0 может стат попроще, тк сахарку завезут для вложенным изменения readonly классов
А так, я бы посоветовал избавиться от нулабильности, сразу код станет попроще (без ?
?.let
и тд)