Because it otherwise exposes protected types at a public scope (see -Xlint)