'if passed a single callable argument: decorate it with mark info.
otherwise add *args/**kwargs in-place to mark information.'

def __call__(self, *args, **kwargs):

    if (args and (not kwargs)):
        func = args[0]
        is_class = inspect.isclass(func)
        if ((len(args) == 1) and (istestfunc(func) or is_class)):
            if is_class:
                store_mark(func, self.mark)
            else:
                store_legacy_markinfo(func, self.mark)
                store_mark(func, self.mark)
            return func
    return self.with_args(*args, **kwargs)
