For example, I recently needed to do some Run-Length Encoding:
import Control.Arrow import Data.List encodeRLE :: (Eq a) => [a] -> [(Int, a)] encodeRLE = map (length &&& head) . group decodeRLE :: [(Int, a)] -> [a] decodeRLE = concatMap (uncurry replicate)