pub(crate) fn find_first<A, K: Field, F: Fn(K) -> Option<A>>( start: K, f: F, ) -> A
finds i for i=start, start+1, … s.t. f(i) is a valid field