Lazy evaluation is the default in Haskell, but that doesn't mean strict evaluation is unavailable.
Here's an example of a type definition that specifies strict evaluation https://github.com/vincenthz/hs-tls/blob/master/core/Network...
See? They don't have to switch languages after all.