Compatible with the library "sequence". An iterator i is simply
a function that accepts another function f (of type 'a -> unit)
and calls f on a sequence of elements f x1; f x2; ...; f xn.
val empty : 'a tval return : 'a ‑> 'a tval of_list : 'a list ‑> 'a tval of_array : 'a array ‑> 'a tval find : ('a ‑> bool) ‑> 'a t ‑> 'a option