I think static typing is a very fundamental part of language design that affects the entire language. To make static typing ergonomic without massive boilerplate, you also need concepts like generics, co and contra-variance, type inference, and other things that dynamically typed languages never have to really concern themselves with.
When you try to bolt it on afterwards, I think you can end up with a lot of foot guns and corner cases and a false sense of security.