Я кстати недавно по-дилетантски так подумал, каким образом в реляционных базах данных представлять sum types (то, что в джаве делают визиторами, в котлине sealed class, в Scala case class, кажется). Я так ни до чего дельного и не додумался, кроме как разные таблицы :)