ones = 1 : ones lotsa x = x : (lotsa x) silly i = (i+1) : (silly i) kernel n = n : (kernel (n+1)) natural = kernel 0 square x = x * x select pred (x:xs) = iif (pred x) (x : (select pred xs)) (select pred xs) odd x = (mod x 2) == 1