If arrays are value types and therefore get copied, then how are they not thread safe?
<p>Reading <a href="https://stackoverflow.com/a/38903479/5175709">this</a> I learn that:</p>

<blockquote>
  <p>Instances of value types are not shared: every thread gets its own copy.* That means that every thread can read and write to its instance without having to worry about what other threads are doing.</p>
</blockquote>

<p>Then I was brought to <a href="https://stackoverflow.com/a/28784770/5175709">this</a> answer and its comment</p>

<p>and was told: </p>

<blockquote>
  <p>an array, which is not, itself, thread-safe, is being accessed from
  multiple threads, so all interactions must be synchronized.</p>
</blockquote>

<p>&amp; about <em>every thread gets its own copy</em> I was told </p>

<blockquote>
  <p>if one thread is updating an array (presumably so you can see that
  edit from another queue), that simply doesn't apply</p>
</blockquote>

<p><strong>that simply doesn't apply</strong>  &lt;-- Why not?</p>

<p>I initially thought all of this is happening because the array ie a value type is getting wrapped into a class but to my amazement I was told NOT true! So I'm back to Swift 101 again :D</p>