1. Is there a reason you start with `(1) and then pop? Why not just initialize lis to nil?

2. Here's a slightly more idiomatic implementation (also more efficient, because it avoids deconstructing and reconstructing lis on every iteration):

(def l (start end) (accum acc (for i start (<= i end) ++.i acc.i)))

arc> (help accum) arc> (help for)