Voldemort types are not a problem as long as they remain static types. The problems only appear once they start carrying a frame pointer. I don't think declaring it as Voldemort would be a problem. That said, module-private struct is also an option.

I personally enjoy being able to declare my types explicitly, but it isn't really a problem if I can't. I'd also find it inconsistent with all other ranges that *do* expose their static type.