Delphi can have enumerated types, e.g.:
type
TDay = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); // Enumeration values
Is it possible to union enumerated types:
type
TWeekDay = (Mon, Tue, Wed, Thu, Fri);
TWeekendDay = (Sat, Sun);
TDay = (TWeekday, TWeekendDay); //hypothetical syntax
In reality, i need to decompose a large list into the disjoint items they actually are, without breaking source-code compatibility:
type
TWeekDay = (Mon, Tue, Wed, Thu, Fri);
TWeekendDay = (Sat, Sun);
TDay = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); //identifier redeclared syntax error
And then change some variables:
Day: TWeekday;TDay;Day: TWeekendDay;TDay
It's sort of the moral equivalent of strict typing.
The answer is "No".
But a workaround available to you, if subrages are contiguous, is to use subranges: