Comment by atbpaca
I am very happy for Scala. So many people taking the time to rant on it. Yes, you can do anything with Scala in a million different ways. So what? So can you do it in C++, Python, Rust, etc. I agree that the whole "Category Theory" libraries are way over the top, but so are libraries in Java using "factories" everywhere. Every language has its pros and cons.
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.