(* TEST * expect *) class type ['e] t = object('s) method update : 'e -> 's end;; [%%expect{| class type ['e] t = object ('a) method update : 'e -> 'a end |}];; module type S = sig class base : 'e -> ['e] t end;; [%%expect{| Line 2, characters 2-27: 2 | class base : 'e -> ['e] t ^^^^^^^^^^^^^^^^^^^^^^^^^ Error: Some type variables are unbound in this type: class base : 'e -> ['e] t The method update has type 'e -> < update : 'a; .. > as 'a where 'e is unbound |}];;