Write Python like it's Rust (correct link)
kobzol.github.io
kobzol.github.io
This right here is the super power. Futzing with the types has repeatedly led me to improving an API in one way or another. It is one thing to have a half-formulated idea on, "You pass in a dictionary with these two keys, and just make sure they are there," vs having to explicitly describe the pattern. The code smell becomes unbearable, and I am much more likely to whip up a tidier interface.