**Bug Report** Mypy doesn't complain that the following overloads overlap with incompatible return types, but probably should: ```python from typing import overload @overload def foo(*, a: str = ...) -> str: ... @overload def foo(*, a: int | str = ...) -> int: ... ``` For comparison, pyright emits a diagnostic here ([playground](https://pyright-play.net/?pythonVersion=3.13&strict=true&enableExperimentalFeatures=true&code=GYJw9gtgBALgngBwJYDsDmUkQWEMpRgBuApiADZgCGAJgFB0ACxZltdNJwUwYYAFACoANFCoAuKAGcYIKAF4oAOhUBKKAFoAfNNmSVSpiwrV6nbrwEixk1PgA%2BuuYoPrtmFDH0q6QA)). Mypy does emit an error if a default value for `a` is omitted in either overload.