The author of Specter goes so far as to label traversal/update of deep immutable structures as "Clojure's Missing Piece".
I haven't had the pleasure of using Clojure in production, but I'm somewhat obsessed with the language and follow it fairly closely. Someone on r/Clojure[1] mentioned Specter[2] with a link to this video[3]. One of the first things the video covers is how the library deals with this concern.
[1] https://www.reddit.com/r/Clojure/comments/loz77v/just_came_a...
[0] https://github.com/redplanetlabs/specter
Data driven languages need simple & powerful transformation libraries. `get-in` is repetitive and tiresome to use.
Specter and it's ilk make transformations clear and simple.
No amount of planning or foresight negates the need for data transformation libraries.