Modula-2: x^ is variant record
IF (x^.varpar # y^.varpar) OR ((x^.typ # y^.typ) &
((x^.typ^.form # Array) OR NOT x^.typ^.dyn OR
(y^.typ^.form # Array) OR NOT y^.typ^.dyn OR
(x^.typ^.ElemTyp # y^.typ^.ElemTyp))) THEN error
END

Cedar: x^ has REF ANY connection x^.ext

IF (x^.varpar) # (y^.varpar) THEN error
ELSE
IF x^.typ # y^.typ THEN
IF
(x^.typ^.form # Array) OR (y^.typ^.form # Array) THEN error
ELSE
{ xarray: M2D.ArrayPtr ← NARROW [x^.typ^.ext];
yarray: M2D.ArrayPtr ← NARROW [y^.typ^.ext];
IF NOT xarray^.dyn OR NOT yarray^.dyn OR
(xarray^.ElemTyp # yarray^.ElemTyp) THEN error