def where(container, key):
    """
    Returns the first element from the given container on what `key` returns `True`.
    
    Parameters
    ----------
    container : `iterable-container`
        Any iterable container.
    key : `function`
        Function used to determine whether an element of `container` meets our expectations.
    
    Returns
    -------
    value : `Any`
        An element of `container`.
    
    Raises
    ------
    LookupError
        On non of the elements was `true` returned by they `key.
    """
    for value in container:
        if key(value):
            break
    else:
        raise LookupError(key)
    
    return value