Introduction Classical monads Free Monad Profitable cheating Freer Monad Definitional interpreters for effects Performance Conclusions Introduction Writing Monad (and now, Applicative and Functor) instances and making sure the monad laws hold are a big part of defining a monad and even a bigger part in exponentially procreating monad tutorials. We argue that all these instances are boilerplate --