Type annotations, the typing module, generics and protocols — optional static typing for modern Python.