(* PR#6394 *) module rec X : sig type t = int * bool end = struct type t = A | B let f = function A | B -> 0 end;;