It can be a challenge for sizable codebases, especially ones with many contributors and that undergoes steady refactoring.
That feeling you get when you see code with lots of type checking... A lot of engineering effort could be recovered with static typing.