Hi, I have a very simple question about laziness, memoization and arrays. If I have: import Data.Array a = listArray (1,10) $ map (\x -> (x*x)) [1..10] main = do print c ! 4 print c ! 4 print c ! 4 Can we assume that the operation 4 * 4 is evaluated only once, when first calling print c ! 4 in the main method? Oscar