let find p set = try iter begin fun elt -> if p elt then raise (Found elt) end set; raise Not_found with Found elt -> elt