def METHOD_NAME(types, args=(), kwargs=None, pg=None):
    _basic_validation(op, args, kwargs)
    st = args[0]
    if kwargs is None:
        kwargs = {}
    if extra_check:
        extra_check(*args, **kwargs)
    if early_stop_func:
        early_stop = early_stop_func(*args, **kwargs)
        if early_stop:
            return st
    return wrapped_func(types, args, kwargs, pg)