The problem with category theory and monads, etc are that they are inaccessible for some of the popular tools. E.g. javascript, python, ruby . It invariably happens that learning these patterns needs you to learn haskell, lisp or erlang. Which is where accessibility breaks down.

If there was a conceptual framework that bridges these higher order designs to accessible languages .. even if partially so, that would be killer.

P.S. I love what dg for python has done - http://pyos.github.io/dg/

>Annoy advocates of the category theory!

>With Haskell's syntax but none of its type system, dg is the best way to make fans of static typing shut up already

I have learnt monads via the absolutely MARVELOUS book by Brian Lonsdorf. cf https://github.com/MostlyAdequate/mostly-adequate-guide

I agree that Haskell is built around those concepts. But the point of learning category theory is to change your mindset when programming. And even in Javascript, it is super useful. (basically because, while trying to learn category theory, you become fluent in functional programming ).