Iterators for OCaml, both restartable and consumable
