Hi, i've hinted that there is an issue with intersection type and totality, but we did not follow up.
Here is the issue var value = flag? "foo": 42; switch(value) { case String s -> ... case Integer i -> ... case Serializable s -> case Comparable<?> c -> } given that the type of value is an intersection type Serializable & Comparable<?> & ... the last two cases are total with respect to the type of value. which does not go well with the current semantics that can only have one total case. Rémi