type num = Int of int | Float of float;; let addn n1 n2 = match n1,n2 with Int i1,Int i2 -> Int (i1 + i2) | Float f1,Float f2 -> Float (f1 +. f2) | _ -> raise (Invalid_argument "addn");;