def find_indices(predicate, List):
    """
    Returns an array of all the indices of the 
    elements which pass the predicate. Returns an 
    empty list if the predicate never passes.
    find-indices even, [1 2 3 4] #=> [1, 3]
    
    >>> find_indices(lambda x: x > 2, [1, 2, 30, 404, 0, -1, 90])
    [2, 3, 6]
    """
    result = []

    for i, x in enumerate(List):
        if predicate(x):
            result.append(i)

    return result