

allNats :: [Integer]
allNats = count 1
	where count n = n : count (n + 1)


allNats' = 1 : map (+1) allNats'


factorials :: [Integer]
factorials = mult 1 1
	   where mult last n = let
                                 bad = 1.0 / 0
	                         val = n * last
                               in
                                 val : mult val (n+1)
 