(* TEST expect; *) type 'a r = int; .. > as 'a;; [%%expect{| type 'a r = 'a constraint 'a = < w : int -> int; .. > |}];; class type virtual ct = object('self) constraint 'self = 'not_self r end;; [%%expect{| class type virtual ct = object method virtual w : int -> int end |}];;