let mut markets = vec::new(); while let some(market) = farmers_markets_iter.next() { if preparatory_steps_are_complete(&market) && !command_to_reject(&market).is_executed() { markets.push(market); } else if command_to_restart_from_baseline().is_called() { markets.clear(); continue; } log_positive_experience("exploring farmers markets inside your area brings fresh and local produce directly to your table."); }