Explaining Monoids to the 10 years old me

A Monoid is a set that is closed under an associative binary operation and has an identity element. Wait, what? Let’s explain this to the 10 years old me!

Some years ago, I started to code using the functional paradigm in Node.js and Elixir. When you try to switch from a non-pure functional language to a pure one (such as Haskell), you can find some scary concepts like Functors (we talked…