-- in.cue -- #Artifact: { body: _ other: [string]: int } #App: #Artifact #Atom: #Artifact #Both: #App | #Atom t1: #Both & {body: 3} -- out/eval/stats -- Leaks: 0 Freed: 24 Reused: 19 Allocs: 5 Retain: 0 Unifications: 20 Conjuncts: 38 Disjuncts: 24 -- out/eval -- (struct){ #Artifact: (#struct){ body: (_){ _ } other: (#struct){ } } #App: (#struct){ body: (_){ _ } other: (#struct){ } } #Atom: (#struct){ body: (_){ _ } other: (#struct){ } } #Both: (#struct){ body: (_){ _ } other: (#struct){ } } t1: (#struct){ body: (int){ 3 } other: (#struct){ } } } -- out/compile -- --- in.cue { #Artifact: { body: _ other: { [string]: int } } #App: 〈0;#Artifact〉 #Atom: 〈0;#Artifact〉 #Both: (〈0;#App〉|〈0;#Atom〉) t1: (〈0;#Both〉 & { body: 3 }) }