filter :: (a -> Bool) -> [a] -> [a]
filter pred ls = [e | e <- ls, pred e]
addPairs :: [(Integer, Integer)] -> [Integer]
addPairs lop = [ x+y | (x,y) <- lop]
myMap f ls = [f x | x <- ls]
addLists :: [Integer] -> [Integer] -> [Integer]
addLists as bs = addPairs (zip as bs)
findIndicies f ls = [ y | (x,y) <- (zip ls [0 ..]), f x]