Operator overloads support by christabella · Pull Request #1324 · pythonnet/pythonnet
So if C# reverse operator isn't defined, so the Python reverse name will have an empty method list in MethodObject
So if a user calls b.__radd__(a) by writing a + b where there is no forward +() defined on a so Python resorts to __radd__, AND no reverse +() defined on b, what happens? Wouldn't hurt to add a check for an empty reverseMethods before doing ci.members[pyNameReverse] = new MethodObject(type, name, reverseMethods);
Another unrelated issue is that of doing unnecessary work, if the Python slot doesn't support reverse e.g. unary operators (__rtruediv__ exists even though python docs don't list them)