It&#x27;s related.<p>One way to see monads (but don&#x27;t take this for a tutorial or the &quot;one true way&quot; or anything like that) is as a special data type which captures the binding structure of a language. They have good &quot;generic&quot; structure and the &quot;free&quot; monad is the expression of that generality showing how you can factor the &quot;binding&quot; bit and the &quot;effectful&quot; bit apart.<p>The interpreter pattern is <i>huuuge</i>. There are so many ways to use it. Free monads take one fruitful corner and show you a highly natural way o organize and exploit it.