[Haskell-beginners] Infinite recursion in list comprehension