ICXRBHJCXSE77Q36NOAMTZ5VFYJVR45BYWNFNNKMHQQVYSJ46NBQC
(* 'a -> 'a *)
(* bool -> bool *)
let f x = if x then x else x
(* 'a -> bool -> 'a *)
let g x y = if y then x else x
(* bool -> 'a -> 'a -> 'a *)
let h x y z = if x then y else z
(* bool -> 'a -> 'b -> 'a *)
let i x y z = if x then y else y