monad preamble