> The kinds of 'advanced type systems' you're talking about
> are extralinguistic: they're not described by the language spec and
> generally processed by tools outside the compiler.
Right. One such variety of tools is compiler plug-ins, also called
annotation processors. One goal of JSR 308 is to make such type-checking
plug-ins possible.
-Mike