def land(*fns):
    """
    Functionally logical ands the given functions.

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

    :param fns: Functions to and
    :return: True if all of the functions return a truthy value, otherwise the first falsey value
    """

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

    return _f