Earlier quoted context omitted.
> Abstract algebra and category theory are likely relevant, especially for metaprogramming. In general, the whole "oh yeah CS people should know some category theory and abstract algebra" is pretty hilarious. First, it's a bit like saying "oh yeah CS people need to know the undegraduate basics and also the generalization that most mathematicians don't encounter until a couple years into grad school." Second, most peo…
More simply (but hard to appreciate without going through semesters of work): know that structure-preserving mappings are the important parts.
You can teach about "different sorts of mappings" in just about any setting. In fact, that's kind of the whole reason Category Theory exists. So why teach the general result when all you care about is its application to functional programming?