Thanks for taking the time to write all that up. I think (too early to say) that seeing all this expressed in C#&#x2F;Java(script)&#x2F;Ruby&#x2F;Python syntax is key for someone like me.<p>I learned LINQ&#x2F;Select(Many) and later all the map&#x2F;filter&#x2F;reduce functional goodness by playing with Clojure and never had a problem and never heard the word &quot;monad&quot; and was fine, totally fine.<p>Later watching a video on Rx (MS&#x27;s reactive extensions) and hearing Erik Meijer talk about monads and Haskell and how Rx was inspired by that is what led me to try to learn Haskell. I just didn&#x27;t see the &quot;connection&quot; between the functional and reactive patterns I was applying daily without any kind of mental problem and the Haskell stuff which was supposedly &quot;the same&quot;, yet so....abstract?<p>I need to read your sample code and the links more carefully, but maybe this is the &quot;key&quot; I was lacking. Thanks !!!!