On Wed, 14 Nov 2012, Brent Yorgey wrote: > Precisely. See edwardk's package > > http://hackage.haskell.org/package/semigroupoids > > which defines this and many other related things. I see, what I need is the Apply class from that package. Fortunately Data.Map is already an instance of the Apply class.