<div dir="ltr">With the code: var foo = true, swift parses this into the following AST:<div><br></div><div><div>(pattern_binding_decl</div><div>    (pattern_named &#39;foo&#39;)</div><div>    (boolean_literal_expr type=&#39;&lt;null&gt;&#39; value=true))</div><div>(var_decl &quot;foo&quot; type=&#39;&lt;null type&gt;&#39; storage_kind=stored)))</div></div><div><br></div><div>I&#39;m wondering why VarDecl and PatternBindingDecl are separate nodes in the tree and not nested somehow, as they both represent similar things..?</div><div><br></div><div>Might be a trivial question as I&#39;m not a compiler guru. I&#39;m porting parts of the AST representation to another language for a project.</div><div><br></div><div>Thanks!</div></div>