human
Here's a good function header given the following:
I wrote the below code

    if (lock is None):
        lock = threading.Lock()
    def wrapper(function):
        def new_function(*args, **kwargs):
            lock.acquire()
            try:
                return function(*args, **kwargs)
            finally:
                lock.release()
        return new_function
    return wrapper

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

def synchronized(lock=None):