eval_type_backport is a tiny package providing a replacement for
typing._eval_type to support newer typing features in older Python versions.

Yes, that's very specific, and yes, typing._eval_type is a protected function
that you shouldn't normally be using. Really this package is specifically made
for pydantic/pydantic#7873.

Specifically, this transforms X | Y into typing.Union[X, Y] and list[X] into
typing.List[X] etc. (for all the types made generic in PEP 585) if the original
syntax is not supported in the current Python version.
