( MODE UE=REF UNION(VD,WD,XD,YD) , VE=REF UNION(UD,WD,XD,YD) , WE=REF UNION(UD,VD,XD,YD) , XE=REF UNION(UD,VD,WD,YD) , YE=REF UNION(UD,VD,WD,XD) , UD=REF UNION(VC,WC,XC,YC) , VD=REF UNION(UC,WC,XC,YC) , WD=REF UNION(UC,VC,XC,YC) , XD=REF UNION(UC,VC,WC,YC) , YD=REF UNION(UC,VC,WC,XC) , UC=REF UNION(VB,WB,XB,YB) , VC=REF UNION(UB,WB,XB,YB) , WC=REF UNION(UB,VB,XB,YB) , XC=REF UNION(UB,VB,WB,YB) , YC=REF UNION(UB,VB,WB,XB) , UB=REF UNION(VA,WA,XA,YA) , VB=REF UNION(UA,WA,XA,YA) , WB=REF UNION(UA,VA,XA,YA) , XB=REF UNION(UA,VA,WA,YA) , YB=REF UNION(UA,VA,WA,XA) , UA=REF UNION(V,W,X,Y) , VA=REF UNION(U,W,X,Y) , WA=REF UNION(U,V,X,Y) , XA=REF UNION(U,V,W,Y) , YA=REF UNION(U,V,W,X) , U=INT, V=VOID, W=REAL, X=BOOL, Y=CHAR ; MODE M3= REF STRUCT(U3 a), U3=UNION(M2,N2,X), M2=REF STRUCT(U2 a) , U2=UNION(M2,N1,X), N2=REF STRUCT(U3 a), N1=REF STRUCT(U1 a) , U1=UNION(X,M1,M3), M1=M2 ; 3 )