We may use the following type definition: type bool = True of unit ∣ False of unit and see the expression if a then a1 else a2 as syntactic sugar for match bool a with True xa1 ∣ False xa2.