Is it better following code than this ?

```lisp
(cl-loop for e in list
         for idx = 0 then (1+ idx)
         collect (popup-make-item e :rawindex idx))
```