let rank_of_string (s: string) : rank option =
  match s with
  | "One"   -> Some One
  | "Two"   -> Some Two
  | "Three" -> Some Three
  | "Four"  -> Some Four
  | "Five"  -> Some Five
  | "Six"   -> Some Six
  | "Seven" -> Some Seven
  | "Eight" -> Some Eight
  | "Nine"  -> Some Nine
  | "Ten"   -> Some Ten
  | "Jack"  -> Some Jack
  | "Queen" -> Some Queen
  | "King"  -> Some King
  | "Ace"   -> Some Ace
  | _       -> None