Understanding why foldr works on infinite list on Haskell
elbauldelprogramador.com