def lor(*fns):
    """
    Functionally logical ors the given functions.

    >>> lor(starts_with('123'), ends_with('asd'))('asd')
    True
    >>> lor(starts_with('123'), ends_with('asd'))('123')
    True
    >>> lor(starts_with('123'), ends_with('asd'))('fgh')
    False

    :param fns: Functions to or
    :return: False if none of the functions returned a truthy value, the truthy value otherwise.
    """

    def _f(*args, **kwargs):
        for f in fns:
            v = f(*args, **kwargs)
            if v:
                return v
        return False

    return _f