human
I wrote the below code

    if (sys.version_info[:2] < (3, 3)):
        @functools.wraps(f)
        def override__dir__wrapper(self):
            members = set()
            for cls in self.__class__.mro():
                members.update(dir(cls))
            members.update(six.iterkeys(self.__dict__))
            members.update(f(self))
            return sorted(members)
    else:
        @functools.wraps(f)
        def override__dir__wrapper(self):
            members = set(object.__dir__(self))
            members.update(f(self))
            return sorted(members)
    return override__dir__wrapper

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

def override__dir__(f):