@NotNull
  private List<RatedResolveResult> resolveLeftAndRightOperators(@NotNull PyBinaryExpression expr, @Nullable String name) {
    final List<RatedResolveResult> result = new ArrayList<>();

    final TypeEvalContext typeEvalContext = myContext.getTypeEvalContext();
    typeEvalContext.trace("Trying to resolve left operator");
    typeEvalContext.traceIndent();
    try {
      result.addAll(resolveMember(expr.getReceiver(null), name));
    }
    finally {
      typeEvalContext.traceUnindent();
    }
    typeEvalContext.trace("Trying to resolve right operator");
    typeEvalContext.traceIndent();
    try {
      result.addAll(resolveMember(expr.getRightExpression(), PyNames.leftToRightOperatorName(name)));
    }
    finally {
      typeEvalContext.traceUnindent();
    }

    return result;
  }
@NotNull
  private List<RatedResolveResult> resolveLeftAndRightOperators(@NotNull PyBinaryExpression expr, @Nullable String name)