human
I wrote the below code

    def wrapper(func):
        @functools.wraps(func)
        def inner(*args, **kwds):
            lock.acquire()
            try:
                return func(*args, **kwds)
            finally:
                lock.release()
        return inner
    return wrapper

What's a good function header?
assistant
#Here's a good function header.

def synchronized(lock):