object X = A and B and C; object Y extends X = D and E; object Z extends X = E and F and G; obj A; obj B; obj C; obj D; obj E; obj F; obj G; object XL = X*; function CheckForYinXL(xl:XL, y:Y)->boolean = ( (y in xl) (* OK as of 29nov01, since we've * changed (i.e., fixed) chkIn to use * assmntCompat instead of just plain * compat. * Prior to 29nov1 it was an error, * since we could not check directly * for a Y in an XL. *) or (exists (x in xl) (x.boolean = ( (x = y) (* ERROR *) or (x = z) (* ERROR *) or (y = z) (* ERROR *) or (x.