sequence +base

sequence :: Monad m => [m a] -> m [a]
base Prelude, base Control.Monad
Evaluate each action in the sequence from left to right, and collect the results.
sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)
base Data.Traversable
sequence_ :: Monad m => [m a] -> m ()
base Prelude, base Control.Monad
Evaluate each action in the sequence from left to right, and ignore the results.
sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
base Data.Foldable
Evaluate each monadic action in the structure from left to right, and ignore the results.
sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
base Data.Traversable
sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f ()
base Data.Foldable
Evaluate each action in the structure from left to right, and ignore the results.
subsequences :: [a] -> [[a]]
base Data.List
The subsequences function returns the list of all subsequences of the argument. > subsequences "abc" == ["","a","b","ab","c","ac","bc","abc"]