One of the good examples is Haskeline - its internal type InputCmdT is a monad transformer stack with a depth of 6 (see here ):
type InputCmdT m = StateT Layout (UndoT (StateT HistLog (ReaderT (IORef KillRing) (ReaderT Prefs (ReaderT (Settings m) m)))))
It can actually have interesting effects, for example, blowing out a signature of one type in System.Console.Haskeline.Emacs to more than 20,000 lines for at least one version of GHC ...
source share