I want to be able to use literal enum members to discriminate classes https://www.typescriptlang.org/docs/handbook/enums.html#union-enums-and-enum-member-types ```kotlin @Serializable sealed class Project { abstract val name: String } @Serializable class OwnedProject(override val name: String, val owner: String) : Project() @Serializable class DeprecatedProject(override val name: String, val reason: String) : Project() fun main() { val tsGenerator = KxsTsGenerator() println(tsGenerator.generate(OwnedProject.serializer().descriptor)) } ``` should generate something like ```typescript enum ProjectKind { OwnedProject, DeprecatedProject, } interface Project { type: ProjectKind; } interface OwnedProject { type: ProjectKind.OwnedProject; name: string; owner: string; } interface DeprecatedProject { type: ProjectKind.DeprecatedProject; name: string; reason: string; } ```