1 2 3 4 5
compo :: ([a] -> b) -> [([a] -> a)] -> [a] -> b compo f gs xs = f (map ($ xs) gs) main = do print $ compo sum [head, last] [1,2,3]
1
4