I could see leaving out or modifying features that lead to a lot of mistakes, like manual memory management, but this is just a flag useful for debugging--you never have to use it and it does not affect your code at all if you don't use it.
Also, this feature is more like replacing unsafe functions with undefined rather than making everything dynamically typed. For example, it will always error if you run a poorly typed function, regardless of what argument you pass in. And, of course, if you're worried about your co-workers using this flag, you can just recompile without it and fix all the errors.
Also, Perl's philosophy is actually not that far from Haskell's in some ways: Haskell embraces TMTOWTDI and tends to favor more concise code.
This is not about making Haskell dynamically typed. It's about not type-checking code that never runs.