+ lazy evaluation, + katana.lisp