I now remember why I've used `collectFirst`, there is no `headOption` on `Iterator`!