text: // A | B is equivalent to A if B is a subtype of A
  class C {
  }
  class D extends C {
      foo() {}
  }
  var x;
  var x;
  // A | B is equivalent to B | A.
  var y;
  var y;
  // AB | C is equivalent to A | BC, where AB is A | B and BC is B | C.
  var z;
  var z;
  var z;
  var AB;
  var BC;
  var z1;
  var z1;
  