def _improved_decorator(caller, func): if isfunction(func): return _decorator(caller, func) def pony_wrapper(*args, **kwargs): return caller(func, *args, **kwargs) return pony_wrapper