raw: true
eval: true
-- in.cue --
{
	b: [{
		{[X=_]: int}
		if a > 4 {
			f: 4
		}
	}][a]
	a: int
	c: *1 | 2
}
-- out/def --
b: [{
	if a > 4 {
		f: 4
	}
	{[X=string]: int}
}][a]
a: int
c: *1 | 2
-- out/compile --
--- in.cue
{
  {
    b: [
      {
        {
          [_]: int
        }
        if (〈2;a〉 > 4) {
          f: 4
        }
      },
    ][〈0;a〉]
    a: int
    c: (*1|2)
  }
}
-- out/eval/stats --
Leaks:  5
Freed:  6
Reused: 2
Allocs: 9
Retain: 10

Unifications: 9
Conjuncts:    16
Disjuncts:    16
-- out/eval --
(struct){
  b: (_|_){
    // [incomplete] b: invalid non-ground value int (must be concrete int):
    //     ./in.cue:8:5
  }
  a: (int){ int }
  c: (int){ |(*(int){ 1 }, (int){ 2 }) }
}
