let x : `A | `B = `A;; let y : `A | `B = `B;; (* let z : (`A,`A)|(`B,`B) = (x,y);; *) let a : { x = `A; y = `A } | { x = `B; y = `B } = { x = x; y = y };;