type t = A | B type u = C of t Line 1, characters 18-54: 1 | let print_t out = function A -> Format.fprintf out "A";; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: B val print_t : Format.formatter -> t -> unit = - : t = - : u = C