Monoids, semigroups, and friends | Hacker News Reader