monoids!
Monoids!
So, hopefully this isn’t something that you’re already very familiar with, but if you are very familiar with monoids from the perspect of math and abstract algebra, then you, like I was, might be unfamiliar with how they could be so useful to a software engineer. In particular, their utility for someone who is working on large amounts of data.
What the heck is a monoid?
For those of you who have taken a course in abstract algebra, you may have heard the term “monoid” when learning group theory.
So, time for some math.
First, we need a set of objects. This can be just about anything, but we need something.
 Closure
 Associativity
 Identity
 Inverses

Commutativity