

Logical and human friendly answer: mutable objects are not a problem, poorly designed code is
Personal rant: why even bother with objects, just use strings, ints, floats, arrays and hashmaps (sarcascm. I have spent hours uncovering logic of large chunks of code with no declaration of what function expects and produces what)
And also, seeing endless create-object-from-data-of-other-object several times has made me want to punch the author of that code in the face. Even bare arrays and hashmaps were less insane than that clusterfuck
Lol, go on, yell me how decisions in the game do not matter. Before you start, be aware I have complete like seven or more full playthroughs just to explore all the things I could do, were it all real (so, excluding things like killing everyone or being a complete shit just for giggles)
But what I do want from them is an actual damn city. Walking through a megapolis chromed to the teeth and not being able to break into random house or apartment is damn frustrating