@verify.register(nodes.OverloadedFuncDef)
def verify_overloadedfuncdef(stub: nodes.OverloadedFuncDef, runtime: MaybeMissing[Any], object_path: List[str]) -> Iterator[Error]:
    if isinstance(runtime, Missing):
        (yield Error(object_path, 'is not present at runtime', stub, runtime))
        return
    if stub.is_property:
        return
    if ((not isinstance(runtime, (types.FunctionType, types.BuiltinFunctionType))) and (not isinstance(runtime, (types.MethodType, types.BuiltinMethodType))) and (not inspect.ismethoddescriptor(runtime))):
        (yield Error(object_path, 'is not a function', stub, runtime))
        if (not callable(runtime)):
            return
    for message in _verify_static_class_methods(stub, runtime, object_path):
        (yield Error(object_path, ('is inconsistent, ' + message), stub, runtime))
    try:
        signature = inspect.signature(runtime)
    except ValueError:
        return
    stub_sig = Signature.from_overloadedfuncdef(stub)
    runtime_sig = Signature.from_inspect_signature(signature)
    for message in _verify_signature(stub_sig, runtime_sig, function_name=stub.name):
        if ('has a default value of type' in message):
            message += '. This is often caused by overloads failing to account for explicitly passing in the default value.'
        (yield Error(object_path, ('is inconsistent, ' + message), stub, runtime, stub_desc=(str(stub.type) + '\nInferred signature: {}'.format(stub_sig)), runtime_desc=('def ' + str(signature))))
@verify.register(nodes.OverloadedFuncDef)
def verify_overloadedfuncdef(stub: nodes.OverloadedFuncDef, runtime: MaybeMissing[Any], object_path: List[str]) -> Iterator[Error]:
    if isinstance(runtime, Missing):
        (yield Error(object_path, 'is not present at runtime', stub, runtime))
        return
    if stub.is_property:
        return
    if ((not isinstance(runtime, (types.FunctionType, types.BuiltinFunctionType))) and (not isinstance(runtime, (types.MethodType, types.BuiltinMethodType))) and (not inspect.ismethoddescriptor(runtime))):
        (yield Error(object_path, 'is not a function', stub, runtime))
        if (not callable(runtime)):
            return
    for message in _verify_static_class_methods(stub, runtime, object_path):
        (yield Error(object_path, ('is inconsistent, ' + message), stub, runtime))
    try:
        signature = inspect.signature(runtime)
    except ValueError:
        return
    stub_sig = Signature.from_overloadedfuncdef(stub)
    runtime_sig = Signature.from_inspect_signature(signature)
    for message in _verify_signature(stub_sig, runtime_sig, function_name=stub.name):
        if ('has a default value of type' in message):
            message += '. This is often caused by overloads failing to account for explicitly passing in the default value.'
        (yield Error(object_path, ('is inconsistent, ' + message), stub, runtime, stub_desc=(str(stub.type) + '\nInferred signature: {}'.format(stub_sig)), runtime_desc=('def ' + str(signature))))