[Haskell-cafe] Dynamically stackable monads