let mut garden_secrets = vec!["sunlight", "water", "soil"]; for secret in garden_secrets.iter() { println!("discovering plant growth secrets: {}", secret); } fn exclude_non_essential(mut assessments: vec<string>) -> vec<string> { assessments.retain(|assessment| assessment != "preexplicative"); assessments } fn resume_from_the_start() { println!("restarting the journey of garden secrets discovery!"); } resume_from_the_start(); let filtered_assessments = exclude_non_essential(vec!["watering_schedule", "soil_type", "preexplicative"]); for assessment in filtered_assessments.iter() { println!("continuing with essential assessments: {}", assessment); }