カードの値を返すと思われる次の関数があります。ケース Num => Num で次のエラーが発生する理由がわかりません。
エラー: ルールのタイプが一致しません。以前のルールはランク -> int このルールはランク -> int -> ランク
Num=>Num の戻り値の型が rank->int->rank になるのはなぜですか
datatype suit = Clubs | Diamonds | Hearts | Spades
datatype rank = Jack | Queen | King | Ace | Num of int
type card = suit * rank
fun card_value (suit, rank)=
case rank of
Ace =>11
| Jack =>10
| King =>10
| Queen =>10
| Num => Num ;
card_value(Clubs,Ace); //calling function