I would make the case that you didn't find the right way to express immutability. I have designed a full software architecture around immutablity and I dont think that my code has a lot of boiler plate. it is simply not imperative but fully declarative. I wrote a very brief article here: https://decodemeester.medium.com/fully-declarative-swift-for-real-world-projects-9b6ee9403f4c (a more detailed one is in he makings)
and an app I am currently working on here:
https://gitlab.com/vikingosegundo/brighter-hue
in this picture you see an immuatble light being alterend. if you just reads the words, it is plain english. this rich api is poissible by just a few dozen lines of code: https://media-exp1.licdn.com/dms/image/C4E22AQF82ltyVHZ2Jg/feedshare-shrink_1280/0/1627225647560?e=1631750400&v=beta&t=cC3fSk8ntPQRw8pkA_GkOaxe8t_AupO3s31lG5OP7mg
I also have a presnetation about this coding style on youtube: https://www.youtube.com/watch?v=l-WckUhhhII&list=PLY5suVncE-vfIoYDOLWggSOk0VtVcF7Tl&index=12&t=1319s