Programming tools like IDE's can provide a richer set of supporting features or they are more sophisticated. Mainly regarding refactoring, suggestions, debugging, metrics, detection, prove, inspection, documention, generation, build,...
They are harder to use on prototyping stage when you are discovering what actually you need to write. That's why language with optional static typing (like TypeScript) are the best of both worlds. You can prototype without types and add them when you have discovered what you need.
Dynamic typing has easier access to meta information. This has advantages and disadvantages, like monkey patching. It's more difficult to realise in static typed languages (for compiler creators), but does exist in form of Reflection.
Static typing leads to large codebases with more files and classes compared to dynamically typed languages. It also forces the continual creation of logic which has nothing to do with the actual problem being solved. And which have to be maintained too.
It encourages the programmer to actively consider the type of an object at and prior to the point of creation, and thinking about what you're doing in advance is strongly correlated with higher quality code.