class a (x0 : int) = object method get_x = (x0, "a") end class b (x0 : int) = object inherit a x0 as super method! get_x = let (x, _) = super#get_x in (x, "b") end class c (x0 : int) = object inherit a x0 as super method! get_x = let (x, _) = super#get_x in (x, "c") end class d (x0 : int) = object (this) inherit b x0 inherit c x0 method get_x' = let (x, _) = this#get_x in (x, "d") end