human
I wrote the below code

    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

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

def firstmethod(method, on_call=None):