Counts an iterator's items as they're yielded.
Returns an iterator which produces mutable arrays with two elements, (n item),
where n counts upwards starting from 0, and item is the result of calling
(iter-next! it).
(prn ..(enumerate '(x y))) ; prints (0 x) (1 y)