I've found pyright to be limited in its ability to infer types, especially compared to Pycharm, which can resolve class inherence across multiple modules quite well. I noticed this when trying to use Zed instead of Pycharm.
[1] You don't have to typehint everything for this to work. Pyright infers return types just fine for instance