よく考えてみるとtupleってなんなのかわからない。

イメージ的には、

(1,"hello",1.3)

みたいな式は、

((tuple_3) 1 "hello" 1.3)

みたいになって、適当な関数にそれぞれの値を適用する感じ?tuple_3の型は、

tuple_3 : 'a -> 'b -> 'c -> ('a * 'b * 'c)

になる?あってるか知りません。

でも、(1,2)の型が(int,int)でなくって(int*int)なのはなんでかって考え出すと、「直積だから」としか思いつきません。