human
I wrote the below code

    def device_iter(**kwargs):
        for dev in backend.enumerate_devices():
            d = Device(dev, backend)
            tests = ((val == getattr(d, key)) for (key, val) in kwargs.items())
            if (_interop._all(tests) and ((custom_match is None) or custom_match(d))):
                (yield d)
    if (backend is None):
        import usb.backend.libusb1 as libusb1
        import usb.backend.libusb0 as libusb0
        import usb.backend.openusb as openusb
        for m in (libusb1, openusb, libusb0):
            backend = m.get_backend()
            if (backend is not None):
                _logger.info('find():    using    backend    "%s"', m.__name__)
                break
        else:
            raise NoBackendError('No    backend    available')
    if find_all:
        return device_iter(**args)
    else:
        try:
            return _interop._next(device_iter(**args))
        except StopIteration:
            return None

What's a good function header?

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

def find(find_all=False, backend=None, custom_match=None, **args):