I don’t think there is a better solution than the alias, or just leaving it as is.
TBH, I think it is fine not to specify supertypes for some slots in the definition. It is not necessary for speed, an inner constructor can take care of validation if necessary (in a more general way), and while supertypes have some value as documentation, they can also just get in the way easily.