{-11.1.1-} addPos :: [a] -> [(Int,a)] addPos xs = undefined {-11.1.2-} prodSumEven :: [Int] -> Int prodSumEven xs = undefined {-11.1.3-} prodSum :: (Int -> Bool) -> [Int] -> Int prodSum cond_f xs = undefined {- 11.2 -} {- 11.2.2 -} filterr :: (a -> Bool) -> [a] -> [a] filterr f xs = undefined filterl :: (a -> Bool) -> [a] -> [a] filterl f xs = undefined {- 11.2.3 -} findFirst :: (a -> Bool) -> [a] -> Maybe a findFirst f xs = undefined findLast :: (a -> Bool) -> [a] -> Maybe a findLast f xs = undefined