# the create is legal since r1 and r2 are structurally equiv. The # invocation of z.f1, also legal, really invokes f2 in the instance of r2. # Works fine under v1.1 (with output `r2 88'), but not under 91d or 91f: resource r1 op f1(int x) body r1() proc f1(x) { write("r1", x) } end resource r2 op f2(int x) body r2() proc f2(x) { write("r2", x) } end resource main() import r1, r2 cap r1 z z = create r2() z.f1(88) end