human
I wrote the below code

    arches = []
    def _supports_arch(major, minor, arch):
        if (arch == 'ppc'):
            return ((major, minor) <= (10, 5))
        if (arch == 'ppc64'):
            return ((major, minor) == (10, 5))
        if (arch == 'i386'):
            return ((major, minor) >= (10, 4))
        if (arch == 'x86_64'):
            return ((major, minor) >= (10, 5))
        if (arch in groups):
            for garch in groups[arch]:
                if _supports_arch(major, minor, garch):
                    return True
        return False
    groups = OrderedDict([('fat', ('i386', 'ppc')), ('intel', ('x86_64', 'i386')), ('fat64', ('x86_64', 'ppc64')), ('fat32', ('x86_64', 'i386', 'ppc'))])
    if _supports_arch(major, minor, machine):
        arches.append(machine)
    for garch in groups:
        if ((machine in groups[garch]) and _supports_arch(major, minor, garch)):
            arches.append(garch)
    arches.append('universal')
    return arches

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

def get_darwin_arches(major, minor, machine):