FYI: I just created this ticket samuelcolvin/dirty-equals#99 against the dirty-equals project about weird import breakage when combining xarray, dirty_equals and recently released typing-extensions 4.12.1 on Python 3.8.
On second thought it might be better to file this against the typing-extensions project