Monads come from category theory. You can certainly know what they are without ever having programmed. &quot;Basic Category Theory for Computer Scientists&quot; and &quot;Category Theory (Oxford Logic Guides)&quot; are good places to start.