ntly in programming because we're more or less just <i>combining</i> things: a construction worker is a civic developer, and for the most part we're white-collar construction workers (software developers).</p><p>You can obviously combine things that are of different types, otherwise we wouldn't be able to build anything really interesting or useful with software. A monoid specifically describes combining something of the same type and returning the same type.</p><p>We know that we need a magma because we're