Given the way that a sealed class becomes an abstract class, it seems as though it would be left open to be extended from the java side. Since all sub types of a sealed class must be known in the same kotlin compile step, why not add type checking assertions in the base type default constructor to verify that it is one of the types that were provided in the original kotlin file. thus not a potential hole in logic when consumed from java?