EventType
class EventType @InternalWowApi constructor(val name: String, val revision: Int, val type: Class<*>, val upgrades: Map<Int, EventUpgrade> = emptyMap(), val aliases: Set<String> = emptySet())
How an event type is named in the log and which schema revision the model reads it as.
Records of an older revision are read through its upgrades: the one from revision n turns a revision n payload into a revision n + 1 one, so every revision from 1 up to revision needs one. aliases are names the type had before, so renaming it keeps its history readable. Two event types are equal when they name, revise and read the same way and upgrade from the same revisions; the upgrades themselves are functions, compared by none.