lazy-seq cons head self-recursion