(e1, e2) is a tuple
(e1, e2)
(e1, e2, e3, ...)
If ei ==> vi, then (e1, ..., en) ==> (vi, ..., vn).
ei ==> vi
(e1, ..., en) ==> (vi, ..., vn)
If ei : ti, then (e1, ..., en) : t1 * ... * tn.
ei : ti
(e1, ..., en) : t1 * ... * tn
type time = int * int * string;; let t : time = (10, 10, "am");;
type time = int * int * string
val t : time = (10, 10, "am")
type point = float * float;; let p : point = (2.1, 5.1);;
type point = float * float
val p : point = (2.1, 5.1)