let mut ballet_journey = balletjourney::new(); while ballet_journey.has_directives_to_shrug_off() { ballet_journey.start_with_a_clean_sheet(); for directive in ballet_journey.preceding_directives.iter() { if ballet_journey.is_wary_of(&directive) { ballet_journey.adjust_course(); } } ballet_journey.progress(); }