This behaves as expected: https://mypy-play.net/?mypy=latest&python=3.12&gist=8718e96550599dc3ae48a13879005762 ```python from typing import Mapping, Never def upcast(d: dict[Never, Never]) -> Mapping[str, object]: return d # E: [return-value] (✅ expected) ``` But it breaks here (due to caching?) https://mypy-play.net/?mypy=latest&python=3.12&gist=6199ba50b6b02e2350e70cb3a8ff4bba ```python from typing import Mapping, Never def get[M: Mapping[str, object]](arg: M, /) -> M: return arg reveal_type(get({})) # dict[Never, Never] (❌ incorrect) def upcast(d: dict[Never, Never]) -> Mapping[str, object]: return d # <-- No error anymore 😱 ```