doall is definitely great for lazy pricing.
Another useful thing to keep in mind is that reduce is not lazy. Therefore, this can be very useful in large calculations to ensure that intermediate results are evaluated and reduced to a single output before the calculation continues.
source share