call-by-need instead of call-by-name in Bind#ifM, Bind#ap