def find_first(iterable, predicate):
    """ Return the first item in iterable that matches predicate, or None if no match """
    for item in iterable:
        if predicate(item):
            return item
