I am the last here who would quarrel with Richard O'K., but I firmly believe that such reasoning is a Pandora box.Haskell has *trained* my intuition to see 'putStrLn "Hi"' as a pure value; it's not the thing itself that has effects, but its interpretation by an outer engine, just as my magnetic card key has by itself no power to open doors, but the magnetic reader that looks at the card _does_.