lowerUntil cop gr al =
    let s = lowerLevel gr al
        cop' x = not . cop x
        s' = setFilterLookup id cop' gr s
        s'' = lowerUntil cop gr $ map fst $ Set.toList s'
    in Set.union s' s''
lowerUntil cop gr al =
    let s = lowerLevel gr al
        cop' x = not . cop x
        s' = setFilterLookup id cop' gr s
        s'' = lowerUntil cop gr $ map fst $ Set.toList s'
    in Set.union s' s''
lowerUntil cop gr al =
    let s = lowerLevel gr al
        cop' x = not . cop x
        s' = setFilterLookup id cop' gr s
        s'' = lowerUntil cop gr $ map fst $ Set.toList s'
    in Set.union s' s''