> In your example it's more or less guaranteed that putting "b"=20 > and "c" will > never happen, because the result of the combinated IO action=20 > isn't demanded. well yes, it was a bad example. i got another answer basically saying that threading could screw it up (i'm not using thread) as could, perhaps, speculative evaluation, which is somewhat unfortunate, but i can live with it. - hal