type t1 = X1 of int | X2 of int val get_int : t1 -> int type even (* choose to hide *) (* val makeEven : int -> int *) val makeEven : int -> even val isEven1 : even -> bool