Decorator that wraps func so that its execution is intercepted.

The wrapper passes func to the interceptor for the current thread.

If there is no next interceptor, we perform an "immediate" call to func. That is, func terminates without forwarding its execution to another interceptor.

func Function to wrap.

The decorated function.