-- in.cue -- a: { d: int b: { c: d } } x: { d: 2 b: a.b.c // should be int, not 2 } a1: y: 5 a1: a2: a3: a4: a5: a1.y b: a1.a2.a3.a4.a5 -- out/eval/stats -- Leaks: 0 Freed: 15 Reused: 9 Allocs: 6 Retain: 0 Unifications: 15 Conjuncts: 22 Disjuncts: 15 -- out/eval -- (struct){ a: (struct){ d: (int){ int } b: (struct){ c: (int){ int } } } x: (struct){ d: (int){ 2 } b: (int){ int } } a1: (struct){ y: (int){ 5 } a2: (struct){ a3: (struct){ a4: (struct){ a5: (int){ 5 } } } } } b: (int){ 5 } } -- out/compile -- --- in.cue { a: { d: int b: { c: 〈1;d〉 } } x: { d: 2 b: 〈1;a〉.b.c } a1: { y: 5 } a1: { a2: { a3: { a4: { a5: 〈4;a1〉.y } } } } b: 〈0;a1〉.a2.a3.a4.a5 }