Partly because that's where the other discussants are (the network
externality is undeniably powerful), and partly (I believe) because
effective use of email is a skill that requires effort to acquire.
Popular mail clients are designed to be popular, not to make that
expertise easy to acquire and exercise. Clunky use of email makes
lists much less pleasant for everyone than they could be.
I guess that's sad (I am, after all, a GNU Mailman developer), but
it's reality.
Personally, I'm sad because some people whose contributions I enjoy (you being one of them :-)) didn't move to Discourse. But like you say, it's how things are.
Christian - you can make named constants using class attributes (or an enum):
class A:
M = "M"
match seq:
case A.M, A.M, A.M, A.M, *r:
return 4*1000, r
Basically, the "names are treated as variables to assign to" rule doesn't apply to attributes.
I'm not sure how helpful that is (it's not particularly *shorter*) but I think the idea was that most uses of named constants in a match statement would be enums or module attributes. And compromises had to be made.
Cheers,
Paul