`val find : ('a -> bool) -> 'a t -> 'a option`

`find f e` returns `Some x` where `x` is the first element `x` of `e` such that `f x` returns `true`, consuming the enumeration up to and including the found element, or `None` if no such element exists in the enumeration, consuming the whole enumeration in the search.

Since `find` consumes a prefix of the enumeration, it can be used several times on the same enumeration to find the next element.