I’ve never thought of that operation as shell pipes, but always as an “or” operator.
I usually avoid using bitwise operators because they get confusing, and the kind of stuff my team does rarely needs them. In this case I would have used union.
edit: here are some of the docs
Bitwise operators: https://wiki.python.org/moin/BitwiseOperators
and how they work with sets: https://docs.python.org/3.10/tutorial/datastructures.html#se...
Plus the set docs have the methods with their corresponding operator: https://docs.python.org/3.10/library/stdtypes.html#set
I can see how it would be nice and concise, but I think the methods are easier to understand.