(* TEST expect; *) (** The aim of this file is to keep track of programs that are "far" from being well-typed *) (** Arity mismatch between structure and signature *) module M : sig type (_, _) t val f : (_, _) t -> unit end = struct type _ t let f _ = () end [%%expect{| Lines 9-12, characters 6-3: 9 | ......struct 10 | type _ t 11 | let f _ = () 12 | end Error: Signature mismatch: Modules do not match: sig type _ t val f : 'a -> unit end is not included in sig type (_, _) t val f : ('a, 'b) t -> unit end Type declarations do not match: type _ t is not included in type (_, _) t They have different arities. |}]