The only difference is that with CAT you have theorems asserting what's true and what's not, with classes I don't think there's much literature. A similar reasoning can be applied to neural networks as there are very different POV: someone will look at them as ODE systems, other as a pure discrete dynamical system or as an optimization problem or whatnot.
I think functors are easier to understand and more fundamental to category theory and programming than monads.
is that a form of flatmap ?
You develop a language that models your domain, translate that into a diagram, and translate that diagram into code.
(Okay, actually topos theory since you’re going between type theories and diagrams — but you use the diagrams to move between type theories and define “equivalent structure”.)