         }
     }
     
+    var isFaceCard: Bool {
+        return self.rank.isFaceCard
+    }
+    
     static func fullDeck() -> [Card] {
         // *** This is the real reason why I wrote this playground: the ability to use generators on suit and rank ***
         var deck = [Card]()

let rankString = reduce(Rank(), "", {$0 + $1.symbol})
rankString
assert(rankString == "A2345678910JQK", "The ranks are ordered from Ace to King")

assert(Rank.Five.simpleDescription() == "5", "A five card is described as '5'")
assert(Rank.King.symbol == "K", "A King card is described as 'K'")

        }
    }
    
    var isFaceCard: Bool {
        switch self {
        case .Jack, .Queen, .King:
            return true
        default:
            return false
        }
    }
    
    var description: String {
        return "Rank: \(symbol)"
    }
