( 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 )
