Функция, действующая как декоратор, так и менеджер контекста в Python?

Это могло бы подтолкнуть вещи слишком далеко, но в основном из любопытства.

Можно ли иметь вызываемый объект (функция / класс), который одновременно действует как Контекстный менеджер, так и декоратор:

def xxx(*args, **kw): # or as a class @xxx(foo, bar) def im_decorated(a, b): print('do the stuff') with(xxx(foo, bar)): print('do the stuff') 

Python - лучший язык программирования в мире.