You are correct. But in FP, we understand immutability differently, so it becomes very painful to watch structural equivalence of the following variables:<p>class Foo { var x = 0 }<p>let a = [Foo(), Foo(), Foo()]<p>var b = a<p>a[0].x = 1<p>var c = b &#x2F;&#x2F; [0].x == 1 ;(<p>let d = a &#x2F;&#x2F; [0].x == 1 ;(