The "M" word (Monads)
When you start with functional programming, saying the M word is like swearing. This esoteric, strange, and uncommon word points to a general pattern that takes some time to grasp. Despite saying that a monad is a monoid in the category of endofunctors is accurate, for a newbie is as unhelpful as comparing monads with burritos. It just misses the point.
Here are some videos I found valuable for understanding this concept with a practical approach.
The Absolute Best Intro to Monads For Software Engineers
A Monads Approach for Beginners, in Scala | Rock the JVM
Another Approach to Monads in Scala: A Way to Generalize Chained Computations
What is a Monad? - Computerphile
See you next time.