I can confirm this performance bug with GHC version 6.6.1 on OS X PCC (G4) Leopard. It performs correctly, lazily keeping 'primes' for all 4 repetitions, when using "ghc -Onot" but the the doSlow fails to retain 'primes' when compiling with "ghc -O" and "ghc -O2" Cheers, Chris