Just because it is an immutable value doesn’t mean it needs to live on the stack.
That said, I was wondering about a similar thing: what if I modify a 1GB string? Is it copy-on-write?
I feel like it can be optimized away 99% of the time only to leave you with 1% of cases that result in very-hard-to-find performance degradations.