1 {- Without strictness analysis, this program runs in constants
2 space, giving non-termination.
3 With strictness analysis, the recursive call to final is not
4 a tail call, so stack overflow results.
9 main = print (final nums)
15 fromn n = n : fromn (n+1)
18 final (a:l) = seqq (force a) (final l)
23 seqq :: Int -> Int -> Int