#evalFull
-- in.cue --
t: {
	#ok: *true | bool
	if #ok {
		x: int
	}
}
s: t & {
	#ok: false
}
-- out/def --
t: {
	x:   int
	#ok: *true | bool
}
s: t & {
	#ok: false
}
-- out/legacy-debug --
<0>{t: <1>{x: int, #ok: true}, s: <2>{#ok: false}}
-- out/compile --
--- in.cue
{
  t: {
    #ok: (*true|bool)
    if 〈0;#ok〉 {
      x: int
    }
  }
  s: (〈0;t〉 & {
    #ok: false
  })
}
-- out/eval/stats --
Leaks:  0
Freed:  11
Reused: 6
Allocs: 5
Retain: 0

Unifications: 7
Conjuncts:    13
Disjuncts:    11
-- out/eval --
(struct){
  t: (struct){
    #ok: (bool){ |(*(bool){ true }, (bool){ bool }) }
    x: (int){ int }
  }
  s: (struct){
    #ok: (bool){ false }
  }
}
