```py def func(a: object, b: bool) -> None: if b: assert isinstance(a, int) else: assert isinstance(a, str) reveal_type(a) # note: Revealed type is "builtins.object" ``` `a` should be narrowed to `int | str` but it is instead not narrowed at all.