(* TEST
 toplevel;
*)

(* This is a toplevel test to trigger toplevel specific hints *)


module Empty = struct end


type u = A
type v = B
module type S = sig end
let m = (module Empty:S)

module M = struct
  type 'a t = X of 'a
end
let x =M.X (A,B,m);;

module type S = sig end
let m = (module Empty:S)

type u = A
type v = B
module M = struct
  type 'a t = X of 'a
end
let y = M.X (A,B,m);;

x = y;;

type a = A
let a = A;;

type a = A
let b = A;;

type a = A
let c = A;;

a = b;;
a = c;;
b = c;;

exit 0;;
