you generally want to use both *args and **kwargs, so that ANY function can be wrapped.

But you get the idea.