Статическая типизация на питоне, почему не работает?
Потому что это type hitting, просто подсказка и питон, просто вам скажет в IDE , что функция ожидает один тип, а вы передали другой.
Все же Python - язык динамический.
Хотите строго, Go \ c# \  Java
Интерпретатор Python не осуществляет проверку типов:
The Python runtime does not enforce function and variable type annotations. They can be used by third party tools such as type checkers, IDEs, linters, etc.

Надо использовать mypy или еще какой-то другой инструмент.