Good point, Rémi. However, note that case pat1, pat2 -> s
is equally too close to case pat1 -> pat2 -> s and again they have very different meanings. We have to admit that there is room to blunder with this syntax. One way out would be to use a different arrow for `switch` statements: switch (x) { case pat1 => case pat2 => s1; case pat3 => pat4 -> s2; case pat5, pat6 => s2; case pat 7, pat8 => pat9 -> s4; } > On Apr 23, 2018, at 2:29 PM, Remi Forax <fo...@univ-mlv.fr> wrote: > > I agree with Kevin, > case pat1 -> case pat2 -> s > is too close to > case pat1 -> pat2 -> s > which has a very different meaning (the result is a lambda). > > Rémi