Since there's no «native» way to mark a function in Python, the method markers are usually decorators that doesn't change a behaviour of a wrapped function.
The decorator needs to wrap a method implementation and a service definition is just an interface.
If you put it directly onto an abstract method, it would wrap only this abstract method,
but not the actual implementation which is produced by binding.
defwrap_with(decorator:Callable[[Any],Any])->Callable[[FunctionT],FunctionT]:""" Wrap the generated bound service method with decorator. Examples: >>> @wrap_with(functools.cache) >>> def service_method(self, ...) -> ...: >>> ... Question: Why can I not just use a decorator directly? The decorator needs to wrap a method **implementation** and a service definition is just an **interface**. If you put it directly onto an abstract method, it would wrap only this abstract method, but **not** the actual implementation which is produced by [binding][binding]. """returnWrapWith(decorator).mark