-- in.cue -- _Q: [{pos: 0}, {pos: 1}] a: [rn=string]: _Q[0:len(a[rn])] a: ben: [{}] b: [rn=string]: _Q[0:1] b: ben: [{}] c: [rn=string]: [...{l: len(a[rn])}] c: ben: [{}] #d: [rn=string]: [...{pos: uint}] & _Q[0:len(#d[rn])] #d: ben: [{}] d: #d -- out/eval/stats -- Leaks: 0 Freed: 26 Reused: 21 Allocs: 5 Retain: 0 Unifications: 26 Conjuncts: 56 Disjuncts: 28 -- out/eval -- (struct){ _Q: (#list){ 0: (struct){ pos: (int){ 0 } } 1: (struct){ pos: (int){ 1 } } } a: (struct){ ben: (#list){ 0: (struct){ pos: (int){ 0 } } } } b: (struct){ ben: (#list){ 0: (struct){ pos: (int){ 0 } } } } c: (struct){ ben: (#list){ 0: (struct){ l: (int){ 1 } } } } #d: (#struct){ ben: (#list){ 0: (#struct){ pos: (int){ 0 } } } } d: (#struct){ ben: (#list){ 0: (#struct){ pos: (int){ 0 } } } } } -- out/compile -- --- in.cue { _Q: [ { pos: 0 }, { pos: 1 }, ] a: { [string]: 〈1;_Q〉[0:len(〈1;a〉[〈0;-〉])] } a: { ben: [ {}, ] } b: { [string]: 〈1;_Q〉[0:1] } b: { ben: [ {}, ] } c: { [string]: [ ...{ l: len(〈3;a〉[〈2;-〉]) }, ] } c: { ben: [ {}, ] } #d: { [string]: ([ ...{ pos: &(int, >=0) }, ] & 〈1;_Q〉[0:len(〈1;#d〉[〈0;-〉])]) } #d: { ben: [ {}, ] } d: 〈0;#d〉 }