A | B means either: reading union type hints in Python
def sensor_id(sensor: Sensor | int | None) -> int has three bars in one signature and
looks like bit arithmetic. It is not arithmetic and it is not new syntax to memorise: each bar is the
word or, and the whole annotation is one sentence — "a Sensor, or an
int, or nothing".