     
     func ranking(acesHigh: Bool = false) -> Int {
         if acesHigh && self == .Ace {
-            return Rank.King.toRaw() + 1
-        }
-        return self.toRaw()
+            return Rank.King.rawValue + 1
+        }
+        return self.rawValue
     }
     
     func compareTo(rhs:Rank, acesHigh: Bool = false) -> Int {

        case .King:
            return "king"
        default:
            return String(self.toRaw())
        }
    }
    

let piquetDeck = deck.filter {
    (card: Card) in
    // an alternative to switching on raw values is to make Rank Comparable, but that conflicts with making the acesHigh rule explicit
    switch card.rank.rawValue {
    case Rank.Two.rawValue...Rank.Six.rawValue:
        return false
    default:
        return true
