Exchange use of typing members with builtins
Since python 3.9 we can replace the use of List and Dict with the builtins list and dict.
Furthermore all uses of Optional can be replaced using the overloaded | operator (e.g. str | None) and Union as well with the overloaded | operator (e.g. str | int).
Edited by David Runge