Rationale: Small overhead for maintainer (add back in the typing.Union monsters), large benefit for users still running python 3.9.
Implemented in 95579049