let union a b =
  match a, b with
    | _, X -> X
    | X, _ -> X
    | NoNo -> No
    | Yes,Yes -> Yes
    | NoYes -> X
    | YesNo -> X