Thanks for this example, it explains it but tbh I’m pretty sure I’ve never done nested property mutating like in your use case, so maybe the compiler can make the difference between mutating a map value and mutating a map value’s property or something.
So that calling set X[0] = struct1{}
would work while also raising an error for your specific case
I know it’s something that we can just “ignore” but it just makes the code and the language more dirty, also made me wonder about why it would even fail? (out of memory issue? concurrency issue? I feel like it’s not really clear for new users)