While we are on da topic, always use string notation! My experience, this was really non-obvious.
With both cast and typing. With cast, can let builtin types, like str or int, be passed in without the string notation.
This reduces the typing imports bleeding into your runtime code modules and tests.