I have something like this:
def factory(cls, param):
# Do some stuff...
Now in my code, I do this:
x = B.factory()
Intellisense insists that x is an A and not a B, and refuses to give me completion for SomeMethod() on x.
When running, it's clear the object is a B.
This is making it extremely hard for me to be productive, since a large portion of our codebase is based on these factory methods.