||:: form a deck :suits: (spades hearts diamonds clubs) :ranks: (2 3 4 5 6 7 8 9 jack queen king ace) |:: form a deck? :suits: $suit| :: match $suit to a rank :used suits: $suit |:: form a deck| :: reset suits |:: match $suit to a rank? :ranks: $rank| :: create a $suit $rank card :used ranks: $rank |:: match $suit to a rank| :: reset ranks |:: create a $suit $rank card| :deck: $rank of $suit |:: reset ranks? :used ranks: $rank| :ranks: $rank |:: reset ranks| |:: reset suits? :used suits: $suit| :suits: $suit |:: reset suits|