MODULE TFwdSet; // REJECTED BY DESIGN: SET OF a type declared later in the same TYPE // block (a forward type reference). Modula-2 requires declaration // before use. Expects "undeclared identifier". TYPE myset = SET OF colour; colour = (red, green, blue); VAR s : myset; ExitCode : INTEGER; BEGIN s := myset{red}; IF (red IN s) AND NOT (green IN s) THEN ExitCode := 42 ELSE ExitCode := 1 END END TFwdSet.