An invalid type is inferred for x after isinstance in this example:
from typing import Union, Tuple
def f(x: Union[str, Tuple[str, str]]) -> None:
if isinstance(x, tuple):
reveal_type(x) # Revealed type is 'builtins.None'
This was originally reported by @davire at gitter.