Is it really worth it?
Fact is, while it can shave off some lines of code,
I think it is interesting to know _which_ lines of code -
Usually when one writes a decorator, it is expected that they
will know what they are writing, and will want to be in control of
their code. Delegating this to a decorator-decorator that is to be
copied and pasted, and will definitely change call-order, and when
your decorator is called, is something that I, at least, would be wary
to use.
Meanwhile, when I want this pattern, it really takes me 2 LoC inside
the decorator to have the same functionality, and still be 100% in control
of when my function is called:
```
from functools import partial
def mydecorator(func=None, /, *, param1=None, **kwargs):
if func is None:
return partial(mydcorator, param1=None, **kwargs)
# decorator code goes here
...
```
So, yes, your proposal has some utility - but I consider it to be marginal -
it is the kind of stuff that I'd rather see on a 3rdy party package
with extra-stuff to help building decorators than on stdlib.