OpcodeGetMethod is *exactly* the same thing as OpcodeGetMember, and is in fact a subclass of it. The only reason for the distinction is so that at runtime the Opcode can tell whether the getting of the member was done with method call syntax with parentheses, like SHIP:NAME(), or non-method call syntax, like SHIP:NAME. It needs to know whether there is an upcoming OpcodeCall coming next or not, so it knows whether the delegate will get dealt with later or if it needs to perform it now.