fn main() { let mut deck = create_deck(); deck.shuffle(); let prior_hand = draw_cards(&mut deck, 5); println!("your prior hand: {:?}", prior_hand); deck.restore_to_beginning(); let undisclosed_card = draw_card(&mut deck); println!("an undisclosed card drawn for you: {:?}", undisclosed_card); fn disavow_bad_hands(hand: vec<card>) -> vec<card> { if hand.is_bad() { println!("disavowing bad hand..."); deck.restore_to_beginning(); draw_cards(&mut deck, 5) } else { hand } } let observation = observe_table(&deck); println!("observation of the table: {:?}", observation); }