Swift struct type recursive value
<p>Structs can't have recursive value types in Swift. So the follow code can't compile in Swift</p>

<pre><code>struct A {
    let child: A
}
</code></pre>

<p>A value type can not be recursive, because it would have infinite size.But I wonder why the follow code can compile?</p>

<pre><code>struct A {
    let children: [A]
}
</code></pre>