id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
7435	Add swap and compose to the Prelude, or Tuple/List	JohnWiegley		"{{{
    swap :: (a,b) -> (b,a)
    swap = snd &&& fst
}}}
Fairly obvious, but strangely missing.
{{{
    compose :: [(a -> a)] -> a -> a
    compose = foldr (.) id

    composeM :: [(a -> m a)] -> a -> m a
    composeM = foldr (<=<) return
}}}
This can be done with Endo, of course, but the result is awkward.  The idiom
of composing a list of endomorphisms occurs often enough that you can Google
for it."	feature request	closed	normal		libraries/base	7.6.1	wontfix			Unknown/Multiple	Unknown/Multiple	None/Unknown	Unknown				
