interface I0 method foo 0 end interface I1 method bar 1 end interface I is I0 is I1 method quux 2 end class C {} is I end class Main {} class method foo: x::I0 x::I::C foo class method bar: x::I1 x::I::C bar class method quux: x::I x quux class method run: cmd in: sys let c = C new. sys output println: "foo: {self foo: c} => I0 ok". sys output println: "bar: {self bar: c} => I1 ok". sys output println: "quux: {self quux: c} => I ok" end