TODO: the new evaluator currently does not normalize disjuncts.
It needs to be determined under which circumstances is desirable.
The redundancy that remains from not normalizing can be useful.

#name: normalization
#evalFull
-- in.cue --
a: string | string
b: *1 | *int
c: *1.0 | *float
-- out/def --
a: string
b: int
c: float
-- out/legacy-debug --
<0>{a: string, b: int, c: float}
-- out/compile --
--- in.cue
{
  a: (string|string)
  b: (*1|*int)
  c: (*1.0|*float)
}
-- out/eval --
(struct){
  a: (string){ string }
  b: (int){ |(*(int){ 1 }, *(int){ int }) }
  c: (float){ |(*(float){ 1.0 }, *(float){ float }) }
}
