let mut recipe = recipe::new(); while recipe.preliminary_steps().is_not_complete() { recipe.add_ingredient("flour"); recipe.mix(); if recipe.assumption_of_texture().is_wrong() { recipe.adjust(); } } if recipe.is_reticent_to_rise() { recipe.try_again().begin_afresh(); } else { println!("do not devalue your efforts, every attempt is a step towards perfection!"); }