What happens if a sealed class and its permitted subclasses are spread across different packages within the same module?