On Sat, Feb 2, 2013 at 1:08 PM, Peter Jones <mlists@pmade.com> wrote:
The last two lines demonstrate the pattern I've been seeing.  The only
way I know how to remove this duplication is to move it out into a
top-level function.  Is that correct?

You might instead wrap your hook in

    doEvent :: (Event -> X a) -> X All
    doEvent act = \e -> act e >> idHook -- or pointfree:  (>> idHook) . act

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net