Monoids: what they are, why the are useful, and what they teach us about software

cs functional math