The issue is about when the error is discovered.
You can have "duck typing" in Haskell, for example, using type-classes.
Instead of "letting the errors through" to run-time, you detect them at compile-time.
You can have "duck typing" in Haskell, for example, using type-classes.
Instead of "letting the errors through" to run-time, you detect them at compile-time.