mtl, transformers, monads-fd, monadLib, and the paradox of choice

A bunch of them are almost completely equivalent: mtl uses GHC extensions, but transformers is Haskell 98. monads-fd and monads-tf are add-ons to transformers, using functional dependencies and type families respectively, both providing the functionality in mtl that’s missing from transformers. mtl-tf is mtl reimplemented using type families. So essentially, mtl == transformers ++ monads-fd, … Read more