lazy じゃなくていい式を lazy に評価しても、 call-by-need ならあんまり変わんなそうな気がするけど。
逆に、 lazy にしない理由って効率だけ?

lazy の問題は副作用をどうするかってほうじゃないかと思う。