I have investigated Challenge 1 (the Regular numbers) reasonably thoroughly, building and comparing 4 iterative solutions to generate them. I also investigated a Lazy List version, storing the tail of the list as a promise - a function to call when you wanted the next head item, and the returned tail is another promise - to generate the next item later when needed. However, I couldn't get that to work so abandoned it:-) Challenge 2 (Pascal's Triangle) by contrast is pretty basic and simple-minded.