fn process_law_claims() { let mut predispositional_analysis = vec::new(); for case in cases.iter() { if case.has_under_the_table_agreement() { predispositional_analysis.push(case.repudiate()); } else { continue; } } let experiment = |x: vec<case>| -> vec<case> { x.into_iter().filter(|c| c.is_ready_to_kick_off_again()).collect() }; let final_cases = experiment(predispositional_analysis); }