Benefits of laziness?

Force us to think in a functional way, cannot rely on the “effect” of evaluation order.

For instance, writing the following:

f a b

We cannot say that a will be evaluated first, followed by b (imperative way of programming).

This is because a / b will only be evaluated if/when f needs it.

In that way, functions are only dependent on their inputs, and we don’t have to care about the side effect of evaluation order.