>>> copy.copy(typing.Union[b"x", b"y"])
typing.Union[b'x', b'y']
>>> copy.copy(typing.Union[b"x", b"y"])
Traceback (most recent call last):
File "<python-input-2>", line 1, in <module>
copy.copy(typing.Union[b"x", b"y"])
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jelle/py/cpython/Lib/copy.py", line 100, in copy
return _reconstruct(x, None, *rv)
File "/Users/jelle/py/cpython/Lib/copy.py", line 234, in _reconstruct
y = func(*args)
TypeError: unsupported operand type(s) for |: 'bytes' and 'bytes'
>>>
This doesn't affect any types supported by the type system (all of which support |), but may affect users who put non-standard objects inside a Union.