Good strong (read specific) types encourage easier redactors.
Changing the function signature or the type then generated cascade of compiler errors that tells you exactly what you touched.
Weak non specific types does not have that property and even with tests you cannot be sure about the change and cannot even be sure you are upholding invariants