Establishing a mindset for understanding Haskell's monads is the purpose of this publication.
Readers are expected to know how to write simple recursive programs in the Haskell programming language.
Functional and imperative programming are compared.
Some examples involve console IO in Haskell.
Haskell's List monad is described.
Haskell's State monad is described.
Examples of monad transformers are given.
This monograph has been formatted for paging readers on small or large screens. Many code examples are hard coded into their own pages. Haskell source code has been kept to short line lengths.