I have yet to see a large static typed program that didn't -- somewhere -- run into the limits of static typing and contain a set of workarounds, using void* or linguistic equivalent. That's code a dynamic language doesn't need.
The only code you can be sure isn't buggy is code that doesn't exist.
The only code you can be sure isn't buggy is code that doesn't exist.