I'm curious how smart auto-complete in PyCharm compares to IntelliSense here. The claim that a variable's lifecycle is followed from beginning to end is interesting. I'm finding that the JetBrains autocomplete knows what a variable's type is maybe the first or second time it's mutated, but often loses track. It's had the positive effect of lessening the amount I rely on re-assigning values to the same variable, but I wonder if IntelliSense can actually deliver here.
I've found it to be mostly reliable until, like you said, accessing maybe an index of an array at which point I use type hinting, which seems to work well.