import Data.List main :: IO () main = putStrLn "hello" f :: (Foldable w, Semigroup (v a), Applicative v, Monoid (v a)) => w a -> v a f xs = foldl' (\acc e -> acc <> pure e) mempty xs