add Px, Py, Iz
can clearly use only the left hand operand Py. So it's not a real MMD, the right hand operand is always a plain integer. This would indicate that it should be a vtable call.
OTOH
add Px, Py, Pz
is an MMD method. Having two different dispatch schemes seems a bit undesirable for such similar operations. But two schemes are needed anyway for overriding e.g. set_integer, which is a vtable.
So I'm quite unsure, what's right.
leo