human
Complete the below
def firstmethod(method, on_call=None):

    ''''Multiple dispatch.
    Return a function that with a list of instances,
    finds the first instance that gives a value for the given method.
    The list can also contain lazy instances
    (:class:`~kombu.utils.functional.lazy`.)'
    '''
 Give me a the Python program you requested?
assistant
#Here is the Python program you requested.
    def _matcher(it, *args, **kwargs):
        for obj in it:
            try:
                meth = getattr(maybe_evaluate(obj), method)
                reply = (on_call(meth, *args, **kwargs) if on_call else meth(*args, **kwargs))
            except AttributeError:
                pass
            else:
                if (reply is not None):
                    return reply
    return _matcher