from typing import Union def add(num1: Union[int, float], num2: Union[int, float]) -> Union[int, float]: return num1 + num2 print(add(1, 2)) # 3 print(add(3, 4.5)) # 7.5 list_a, list_b = [1, 2, 3], [4, 5, 6, 7] joined_list = list_a + list_b last_index = add(len(list_a), len(list_b)) - 1 reveal_type(last_index) # Union[int, float] assert isinstance(last_index, int) reveal_type(last_index) # Now it's int print(joined_list[last_index])