struct foo bar end; method f1(a b) return 4 or 5; end; method f2(a b) return a.foo or 0x55555555; end; method f3(a b) return 0x55555555 or b.bar; end; method f4(a b) return (a.bar - b.foo) or (a.foo - b.bar); end; method f5(a b) return (a.bar < b.foo) or this; end; method f6(a b) return this or (b.bar = a.foo); end; method f7(a b) return a or b; end; method f8(a b) return this or 0x112233; end; method f9(a b) return 0x11EEEEFF or this; end; method f10(a b) return (a.foo - 5) or 6; end; method f11(a b) return 7 or (b.bar - 3); end; method f12(a b) return (a.bar - 3) or b.foo; end; method f13(a b) return a.foo or (b.bar - -3); end; method f14(a b) return this or a.foo; end; method f15(a b) return b.bar or this; end; method f16(a b) return b.bar or 0; end; method f17(a b) return 0 or a.foo; end; method f18(a b) return 0 or this; end; method f19(a b) return this or 0; end; method f20(a b) return 0 or (b.foo * 1); end; method f21(a b) return (a.foo * 1) or 0; end;