A) "no worries mate, just duck type, we'll figure it all out for you" which makes it impossible to isolate and separate modules into standalone interfacing components that any third party can rely on.
B) "you must type each and every function, interface and datastructure", in which case you have excessive bureaucratic obstacles to fight whenever you need to rearrange internals. your best hope is refactoring tools that automate some of this work;
both have their place, just not all the time.