docs: def verify_method(target, method_name, class_level=False):
      """Verifies that the provided method exists on the target object.
  
      :param Target target: A ``Target`` object containing the object with the method to double.
      :param str method_name: The name of the method to double.
      :raise: ``VerifyingDoubleError`` if the attribute doesn't exist, if it's not a callable object,
          and in the case where the target is a class, that the attribute isn't an instance method.
      """
  
      attr = target.get_attr(method_name)
  
      if not attr:
          raise VerifyingDoubleError(method_name, target.doubled_obj).no_matching_method()
  
      if attr.kind == 'data' and not isbuiltin(attr.object) and not is_callable(attr.object):
          raise VerifyingDoubleError(method_name, target.doubled_obj).not_callable()
  
      if class_level and attr.kind == 'method' and method_name != '__new__':
          raise VerifyingDoubleError(method_name, target.doubled_obj).requires_instance()