> "Oh, this thing turns out to be a Monoid! Let me abstract it."
You seem to have an example in mind where this leads to the "making everything a mathematical problem" , can you share it?
> Haskell communities do it very differently by making everything a mathematical problem, and it's only math experts who feel comfortable with the code.
I program in Haskell every day and I have no idea what Haskell code you have in mind.
Also as I've said elsewhere, nearly everyone reading this has more math experience than this Haskell programmer without a degree or calculus class under their belt.