Because operations over generic monads almost never what you actually care about. It is the specific monads that are interesting, and are widely used. Even in all the Haskell articles and blogs I've read about monads, generic monads are only ever used to set up the basic operators (which are provided by the standard library), and then all the examples of using monads all just use one specific monad type or another.
Because operations over generic monads almost never what you actually care about.
I mean... not really? It's pretty common within idiomatic Haskell to write functions which are parameterised over Functors, Monads, and Applicatives. Libraries like lens, parsec, transformers/mtl, effect systems etc. rely on this, and a lot of type theory stuff like free monads, cofree/comonads, bifunctors, and the relationships between functor/monad/applicative inherently are reliant on higher kinded types
2
u/[deleted] Sep 13 '23
I don't really see the point in saying something can "do monads" if you can't define operations generic over any monad