Comment by neko-kai
I'd say category theory concepts are not over the top - but category theory libraries could be! I just about never define or use explicit categoric typeclass instances - even though I almost always define categoric methods, e.g. `++` and `empty` for everything that looks like a monoid, `map` for everything that produces values, `contramap` for everything that consumes values. That's usually more than enough - and making structure explicit that way prevents your data structures from semantic drift while they're being handled by other engineers.