(* TEST flags = " -w -a " * setup-ocamlc.byte-build-env ** ocamlc.byte *** check-ocamlc.byte-output *) module type Param1 = sig type 'a r = [< `A of int ] as 'a val f : ?a:string -> string -> [ `A of _ ] r end module Make1 (M : Param1) = struct include M let f = f ~a:"" end module type Param2 = sig type t type 'a r = [< `A of t ] as 'a val f : ?a:string -> string -> [ `A of _ ] r end module Make2 (M : Param2) = struct include M let f = f ~a:"" end