Why have a self parameter for these decorators? They're static methods, so you could just have `*args, **kwargs`, then there would be no limitation on the type of function you can run on.