[Taine Zhao <yaoxiansamma@gmail.com>]
"or" brings an intuition of the execution order of pattern matching, just like how people already know about "short-circuiting".
"or" 's operator precedence also suggests the syntax of OR patterns.
As we have "|" as an existing operator, it seems that there might be cases that the precedence of "|" is not consistent with it in an expression. This will mislead users.
You said "All reuse of symbols carries baggage", I'd say,
All **inconsistent** reuse of symbols carries baggage, but the consistent reuse builds good intuitive sense and shows the good taste of designers.
We're not talking about abstract computation here: this is a specific feature, and "|" is the _only_ infix operator. The PEP considered and rejected "&" and a unary "not", so that's the universe we're left with. With only one "operator", it's really hard to "mislead" ;-) In any case, the model here is far more regular expressions than Python int arithmetic or set unions. "|" means essentially the same thing in the PEP as it does in Python regexps: tru supatterns one at a time, left to right.