Add Generate function to generate lazily evaluated infinite lists