> Dynamic typing means you don't know what side effects a library might have until runtime.

Static typing (in most industrially popular languages) doesn't tell you anything about side effects, only expected inputs and return values.