Edward Kmett's optics library; Control.Lens defines a large number of types.
Most of these have relatively self explanatory names, like Traversal and Fold.
It also defines some types with less obvious names, like Bazaar
From the Bazaar page:
a.k.a. indexed Cartesian store comonad, indexed Kleene store comonad, or an indexed FunList.
...
Mnemonically, a Bazaar holds many stores and you can easily add more.
I can't figure out the reasoning behind the name of the type Market. I assume that this is somehow also related to store monads/comonads? Is this correct?