and the second, a graph of the most populat combinations:
If you are interested, the full research questions are:
How many packages directly depend on the mtl library? What is their
distribution with respect to package metadata, such as names, versions, stability
or categories?
What monads, or notions of computation, defined in the mtl library are
the most popular?
How popular are alternative implementations to the mtl library?
this paper is quite alarming, the fourth most used monad is Error and it was removed in the latest version of mtl, State sounds useful but things get absurdly complex when we involve multiple threads and exceptions, Writer is rife with issues and the strict version always leaks space. of the ok Monads only Reader is widely used and Cont, Except and Identity are niche.
hackage is append only what happens if we ignore abandoned packages or older ones and only consider relatively recent packages?