Overriding an inherited classmethod should not change the class type returned by the classmethod. This checks for incorrect binding of methods that occur as a side effect of the wrapping.