If you are coming from packages iterators/itertools/itertools2, all functionality should be preserved, but some may be under different names. Here’s a short transition guide:
| iterators/itertools | iteror function | |||
|---|---|---|---|---|
| iterators::iapply(array, margin) | iteror(array, by=margin) | |||
| iterators::recycle | i_recycle | |||
| itertools::ifilter(pred, iterable) | i_keep(iterable, pred) | |||
| itertools::ifilterfalse(pred, iterable) | i_drop(iterable, pred) | |||
| itertools::isplitCols(obj, ...) | iteror.array(obj, by="column", ...) | |||
| itertools::isplitIndices(n, ...) | icount(n, ...) | |||
| itertools::isplitRows(obj, ...) | iteror.array(obj, by="row", ...) | |||
| itertools::isplitVector(n, ) | iteror.default(n, ...) | |||
| itertools::product | igrid | |||
| itertools::recycle(iter) | i_recycle(iter) | |||
| itertools::recycle(function() {...}, times=N) | iteror(function() {...}, count=N) | |||
| itertools::timeout(secs) | i_timeout(secs) | |||
| itertools2::icompress | i_mask | |||
| itertools2::icount(start=1, step=3, stop=15) | iseq(from=1, to=15, by=3) | |||
| itertools2::icycle | i_recycle | |||
| itertools2::idropwhile(pred, iterable) | i_dropwhile(iterable, pred) | |||
| itertools2::ifilter(pred, iterable) | i_keep(iterable, pred) | |||
| itertools2::ifilterfalse(pred, iterable) | i_drop(iterable, pred) | |||
| itertools2::ilength | count(obj) | |||
| itertools2::imap(f, it) | i_apply(it, f)ori_map(f, it1, it2, ...) | |||
| itertools2::ipairwise(it) | i_window(it, 2) | |||
| itertools2::iproduct | igrid | |||
| itertools2::irep_len | i_rep(length.out=n) | |||
| itertools2::iseq_len | icount | |||
| itertools2::iseq_along(x) | icount(length(x)) | |||
| itertools2::itakewhile(pred, iterable) | i_keepwhile(iterable, pred) | |||
| itertools2::itripletwise(it) | i_window(it, 3) | |||
| itertools2::iunique_lastseen() | i_dedup() | 
Other notes:
checkFunc arguments have been removed; instead use i_keep().