> Indeed, I can’t remember a single time where I’ve needed that, let alone actually realized the restriction existed.

Likewise. I suspect the use of a function sort of just fell out from the pre-decorator usage. Things like staticmethod() and classmethod() were used well before decorators were available. (According to the linked 2.7 doc references, both were introduced in 2.2, with decorator tweaks coming along in 2.4.) In fact, those two functions might have been the most significant driving force in the development of decorators, which, I believe, were always just thought if as nothing more than syntactic sugar for existing common use cases.