[Haskell-beginners] why isnt this optimized?