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

    names = set(('Enum', 'IntEnum', 'enum.Enum', 'enum.IntEnum'))
    for basename in node.basenames:
        if (basename not in names):
            continue
        if (node.root().name == 'enum'):
            break
        for (local, values) in node.locals.items():
            if any(((not isinstance(value, nodes.AssignName)) for value in values)):
                continue
            stmt = values[0].statement()
            if isinstance(stmt.targets[0], nodes.Tuple):
                targets = stmt.targets[0].itered()
            else:
                targets = stmt.targets
            new_targets = []
            for target in targets:
                classdef = dedent(('\n                                                                class    %(name)s(%(types)s):\n                                                                                @property\n                                                                                def    value(self):\n                                                                                                #    Not    the    best    return.\n                                                                                                return    None\n                                                                                @property\n                                                                                def    name(self):\n                                                                                                return    %(name)r\n                                                                ' % {'name': target.name, 'types': ',    '.join(node.basenames)}))
                fake = AstroidBuilder(MANAGER).string_build(classdef)[target.name]
                fake.parent = target.parent
                for method in node.mymethods():
                    fake.locals[method.name] = [method]
                new_targets.append(fake.instantiate_class())
            node.locals[local] = new_targets
        break
    return node

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

def infer_enum_class(node):